簡體   English   中英

Select2取消選擇所有值

[英]Select2 deselect all values

我希望單擊一下取消選擇所有值,而不單獨使用每個id

我擺弄了一會兒,但這只取消了第一個值。 有什么建議?

這是我嘗試取消選擇的方式:

$( "#mybutton" ).click(function() {    
   $("select").select2('val', '')
});

http://jsfiddle.net/6hZFU/75/

$("select").val('').change();

這就是全部:) http://jsfiddle.net/6hZFU/78/

說明:當您更改任何輸入的值或通過JavaScript瀏覽器選擇時,不會觸發該更改的更改事件(這是規范所說的)。

當您觸發更改事件時,select2將趕上並反映select的新值。

試試這個:

$('select').select2({
    placeholder: "select me"
});

$("#mybutton").click(function () {
    $("select").each(function () { //added a each loop here
        $(this).select2('val', '')
    });
});

在這里演示

如果使用Select2版本4.0,則需要使用新語法:

$("select").val(null).trigger("change");
$('#destinatariMail').val("-1").trigger("change");

這樣您就可以取消選擇已經“即時”插入的標記選項。

如果您想使用Select2 v4 api清除多個多選下拉列表,這里有一個簡單的方法:

$("li.select2-selection__choice").remove();
$(".select2").each(function() { $(this).val([]); });

不關注下拉列表並清除“select”和“Select2”元素;)

我嘗試了上述解決方案,但它對我不起作用。

這是一種破解,你不必trigger change.

$("select").select2('destroy').val("").select2();

要么

$("select").each(function () { //added a each loop here
        $(this).select2('destroy').val("").select2();
});

試試這個,它運作得很好。

$('#form-search-amenities > option').prop("selected", false);
$("li.select2-selection__choice").remove();

#form-search-amenities應該替換為<select>下拉列表的ID。

如果有人對Select2本機配置解決方案感興趣( 沒有單獨的按鈕 )。

截至編寫時(select2 v 4),Select2可以添加一個按鈕來清除多選。 不需要<option></option>解決方法來顯示占位符:

$('#my-select').select2({
    placeholder: "Select something",
    allowClear: true
});

文檔中

你需要使用你的select類( select2_single

例:

$('#button_clear').click(function () 
{
    $('.select2_single').select2('val',''); 
});

Debes usar la clase de tus select

EJ:

$('#button_clear').click(function () 
{
    $('.select2_single').select2('val',''); 
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM