我正在尝试为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/
答案 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');