Select2取消选择所有值

Jaa*_*nus 31 html javascript jquery selection jquery-select2

我想单击一下取消选择所有值而不id单独使用每个值.

我摆弄了一会儿,但这只取消了第一个值.有什么建议?

这是我尝试取消选择的方式:

$( "#mybutton" ).click(function() {    
   $("select").select2('val', '')
});
Run Code Online (Sandbox Code Playgroud)

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

Iva*_*nić 48

$("select").val('').change();
Run Code Online (Sandbox Code Playgroud)

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

说明:当您更改任何输入的值或通过JavaScript浏览器选择时,不会触发该更改的更改事件(这是规范所说的).

当您触发更改事件时,select2将赶上并反映select的新值.

  • 是的,因为当您更改任何输入的值或通过 JavaScript 进行选择时,浏览器不会触发该更改的更改事件。当您触发更改事件时, select2 将赶上并反映 select 的新值。 (2认同)

Ser*_*gio 24

试试这个:

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

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

在这里演示


Ste*_*eve 15

如果使用Select2版本4.0,则需要使用新语法:

$("select").val(null).trigger("change");
Run Code Online (Sandbox Code Playgroud)


Rom*_*usi 5

如果有人对 Select2 本机配置解决方案感兴趣(没有单独的按钮)。

在撰写本文时(select2 v 4),Select2 可以添加一个按钮来清除多选。不需要<option></option>出现占位符的解决方法:

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

文档中