清除多个选择jquery-select2

时间:2018-01-23 11:24:36

标签: javascript jquery html jquery-select2

我正在尝试为jquery-select2多重选择创建一个重置按钮。我不知道为什么我的解决方案不起作用。

HTML:

<select id="workload-selector" class="js-source-states-2" multiple="multiple" style="width: 100%">             
  <option value="haha">haha</option>
  <option value="haha2">haha2</option>
  <option value="haha3">haha3</option>
</select>

<button id="reset">
Reset
</button>

使用Javascript:

$("#workload-selector").select2();
$("#reset").click(function(){
  $("#workload-selector option:selected").removeAttr("selected");
});

我是在jsFiddle上创建的: https://jsfiddle.net/DTcHh/41975/

4 个答案:

答案 0 :(得分:1)

我已经做到了,这是我阐述的一个例子

$("#reset").click(function(){
  $("#workload-selector").val(null).trigger('change');
});

答案 1 :(得分:1)

select2倍数将值保存在数组中 您需要做的就是

$("#workload-selector").val([]).change();

答案 2 :(得分:0)

你可以这样做:

$("#workload-selector").select2('val', '');

同样根据docs,这也有效:

$("#workload-selector").val("");
$("#workload-selector").trigger("change");

答案 3 :(得分:0)

在文档https://select2.org/programmatic-control/add-select-clear-items#clearing-selections中,我需要设置 null 值。当select有多个选择时,它给了我一个空白的选择选项。但是如果设置的值不存在,对我来说通常是清除的。

例如: 如果在选项中,您有:

<select id="mySelect2" multiple="multiple">
   <option value="1">1</option>
   <option value="2">2</option>
   <option value="3">3</option>
</select>

通常清除选择。

$('#mySelect2').val(-100).trigger('change');