Как очистить выбранное значение selectize.js
У меня есть выпадающее меню selectize.js, и я должен удалить выбранное значение.
Я пробовал:
var selectize = $("#optionNetFlow")[0].selectize;
selectize.clear();
как было предложено в другом вопросе Как установить опцию selectize.js с программным обеспечением. Но это дает ошибку,
Uncaught TypeError: Cannot read property 'selectize' of undefinedmessage: "Cannot read property 'selectize' of undefined"stack: (...)get stack: function () { [native code] }arguments: nullcaller: nulllength: 0name: ""prototype: StackTraceGetterconstructor: function () { [native code] }__proto__: Object__proto__: function Empty() {}<function scope>set stack: function () { [native code] }__proto__: Error
![enter image description here]()
когда я меняю его на:
var selectize = $("#optionNetFlow").selectize;
selectize.clear();
Я даю ошибку:
TypeError: undefined is not a functionmessage: "undefined is not a function"stack: (...)get stack: function () { [native code] }set stack: function () { [native code] }__proto__: Error VM1253:3(anonymous function) VM1253:3InjectedScript._evaluateOn VM1251:732InjectedScript._evaluateAndWrap VM1251:665InjectedScript.evaluate VM1251:579
![enter image description here]()
что я здесь делаю неправильно?
Ответы
Ответ 1
Наконец-то я нашел ответ Selectize.js Demos
Что для меня работает:
var $select = $('#optionNetFlow').selectize();
var control = $select[0].selectize;
control.clear();
что мне не хватало var $select = $('#optionNetFlow').selectize();
, прежде чем применять решение, указанное в ответе на вопрос.
Теперь я должен получить все функции в консоли, например:
![enter image description here]()
Ответ 2
JS: -
jQuery(function ($) {
var $select = $('#input-tags').selectize({
persist: false,
create: true
});
$("#btnClear").on("click", function () {
var selectize = $select[0].selectize;
selectize.clear();
});
});
Ответ 3
Попробуй это,
$("#optionNetFlow")[0].selectize.clear();
Ответ 4
$(document).on('click', 'div.selectize-input div.item', function(e) {
var select = $('#services').selectize();
var selectSizeControl = select[0].selectize;
// 1. Get the value
var selectedValue = $(this).attr("data-value");
// 2. Remove the option
select[0].selectize.removeItem(selectedValue);
// 3. Refresh the select
select[0].selectize.refreshItems();
select[0].selectize.refreshOptions();
});
Это не удаляет элемент из выбранного, просто удалите его из выбранных параметров.
Ответ 5
Или, если у вас есть выбор нескольких элементов, и вы хотите восстановить выбранные элементы в раскрывающемся списке (скрыть выбранный набор в значение true).
var selectize = $("#select-item").selectize;
//clone array
var items = selectize.items.slice(0);
for (var i in items) {
selectize.removeItem(items[i]);
}
selectize.refreshOptions();