[英]How to clear a selected value in Selectize.js dropdown?
我有一個selectize.js下拉列表,我必須清除所選值。
我已經嘗試過這個(如另一個問題中所建議的):
var selectize = $("#optionNetFlow")[0].selectize;
selectize.clear();
但它給出了以下錯誤:
當我將其更改為:
var selectize = $("#optionNetFlow").selectize;
selectize.clear();
我給出了這個錯誤:
我在這里做錯了什么?
我終於在這里找到了答案Selectize.js Demos
對我有用的是:
var $select = $('#optionNetFlow').selectize();
var control = $select[0].selectize;
control.clear();
我缺少什么var $select = $('#optionNetFlow').selectize();
在應用上述問題答案中提供的解決方案之前。
現在我要在控制台中獲取所有功能,例如:
嘗試這個,
$("#optionNetFlow")[0].selectize.clear();
JS:-
jQuery(function ($) {
var $select = $('#input-tags').selectize({
persist: false,
create: true
});
$("#btnClear").on("click", function () {
var selectize = $select[0].selectize;
selectize.clear();
});
});
所有其他答案要么清除單個選擇,要么在創建時需要對選擇的特定引用。
另一方面,下面的解決方案適用於您在任何表單中擁有的任意數量的 selectize 元素; 您只需要指定所需的形式:
$('form').find('.selectized').each(function(index, element) { element.selectize && element.selectize.clear() })
的理由是,Selectize保持原始元素中(隱藏它)的DOM,更增加了對所述selectize參考.selectize
的DOM元素的屬性,並增加了一個CSS類selectized
到它。
因此該解決方案找到所有具有 CSS 類selectized
的元素,循環遍歷它們並調用element.selectize.clear()
。
$(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();
});
這不會從選擇中刪除項目,只是從選擇的選項中刪除它。
或者,如果您有多項選擇,並且確實希望恢復下拉列表中的選定項目(隱藏選定設置為 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();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.