我正在和一个很棒的select2 control合作。
我也在尝试清理和禁用包含内容的select2,所以我这样做:
$("#select2id").empty();
$("#select2id").select2("disable");
好的,它可以工作,但如果我选择了一个值,所有的项都会被移除,控件被禁用,但选定的值仍然会显示。我想要清除所有内容,以便占位符将被显示。这是我做的一个例子,你可以看到这个问题:http://jsfiddle.net/BSEXM/
HTML:
<select id="sel" data-placeholder="This is my placeholder">
<option></option>
<option value="a">hello</option>
<option value="b">all</option>
<option value="c">stack</option>
<option value="c">overflow</option>
</select>
<br>
<button id="pres">Disable and clear</button>
<button id="ena">Enable</button>
代码:
$(document).ready(function () {
$("#sel").select2();
$("#pres").click(function () {
$("#sel").empty();
$("#sel").select2("disable");
});
$("#ena").click(function () {
$("#sel").select2("enable");
});
});
CSS:
#sel {
margin: 20px;
}
你对此有什么想法或建议吗?
发布于 2013-10-23 23:50:11
为什么会有这么多麻烦?
使用:
$('#sel').select2('data', null);
发布于 2018-12-12 22:58:16
我使用的是Select2 v4.0 (4.0.6-rc.0)
使用以下命令可清除下拉字段中的所有值:
$('#id_of_select2_select').empty();
这样做会将它们完全删除,并且在页面刷新之前无法重新选择它们。
如果您要做的只是删除选择,请执行以下操作:
$('#id_of_select2_select').val(null).trigger('change');
当前选择的选项被清除,并且用户将能够重新选择他们想要的选项。
发布于 2017-11-29 19:59:50
根据Sarath Kumar的回答:
$('#sel').val(null).trigger('change');
参考官方文档,链接如下:
https://select2.org/programmatic-control/add-select-clear-items#clearing-selections
https://stackoverflow.com/questions/16310588
复制相似问题