44

我想一键取消选择所有值而不使用每个值id单独使用每个值。

我摆弄了一会儿,但这仅取消选择第一个值。有什么建议么?

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

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

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

4

9 回答 9

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

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

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

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

于 2013-09-13T09:03:29.230 回答
28

试试这个:

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

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

演示在这里

于 2013-09-13T09:00:43.007 回答
20

如果使用 Select2 4.0 版,您将需要使用新语法:

$("select").val(null).trigger("change");
于 2015-06-12T00:45:21.700 回答
6

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

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

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

文档中。

于 2018-07-22T10:46:39.487 回答
3
$('#destinatariMail').val("-1").trigger("change");

这样,您将取消选择“即时”插入的标记选项。

于 2017-05-29T10:19:41.250 回答
2

I tried the above solutions but it didn't work for me.

This is kind of hack, where you do not have to trigger change.

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

or

$("select").each(function () { //added a each loop here
        $(this).select2('destroy').val("").select2();
});
于 2017-04-12T10:43:02.707 回答
1

如果您想使用 Select2 v4 api 清除多个多选下拉菜单,这里有一个简单的方法:

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

不关注下拉菜单并清除“select”和“Select2”元素;)

于 2015-06-23T18:32:37.127 回答
0

您需要使用您的选择类(select2_single

例子:

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

Debes usa la clase de tus select

乙:

$('#button_clear').click(function () 
{
    $('.select2_single').select2('val',''); 
});
于 2017-04-04T16:34:40.727 回答
0

试试这个,它工作得很好。

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

#form-search-amenities应该用<select>下拉列表的 ID 替换。

于 2017-05-21T08:16:59.810 回答