[英]Select2 deselect all values
我希望单击一下取消选择所有值,而不单独使用每个id
。
我摆弄了一会儿,但这只取消了第一个值。 有什么建议?
这是我尝试取消选择的方式:
$( "#mybutton" ).click(function() {
$("select").select2('val', '')
});
$("select").val('').change();
这就是全部:) http://jsfiddle.net/6hZFU/78/
说明:当您更改任何输入的值或通过JavaScript浏览器选择时,不会触发该更改的更改事件(这是规范所说的)。
当您触发更改事件时,select2将赶上并反映select的新值。
试试这个:
$('select').select2({
placeholder: "select me"
});
$("#mybutton").click(function () {
$("select").each(function () { //added a each loop here
$(this).select2('val', '')
});
});
在这里演示
如果使用Select2版本4.0,则需要使用新语法:
$("select").val(null).trigger("change");
$('#destinatariMail').val("-1").trigger("change");
这样您就可以取消选择已经“即时”插入的标记选项。
如果您想使用Select2 v4 api清除多个多选下拉列表,这里有一个简单的方法:
$("li.select2-selection__choice").remove();
$(".select2").each(function() { $(this).val([]); });
不关注下拉列表并清除“select”和“Select2”元素;)
我尝试了上述解决方案,但它对我不起作用。
这是一种破解,你不必trigger change.
$("select").select2('destroy').val("").select2();
要么
$("select").each(function () { //added a each loop here
$(this).select2('destroy').val("").select2();
});
试试这个,它运作得很好。
$('#form-search-amenities > option').prop("selected", false);
$("li.select2-selection__choice").remove();
#form-search-amenities
应该替换为<select>
下拉列表的ID。
如果有人对Select2本机配置解决方案感兴趣( 没有单独的按钮 )。
截至编写时(select2 v 4),Select2可以添加一个按钮来清除多选。 不需要<option></option>
解决方法来显示占位符:
$('#my-select').select2({
placeholder: "Select something",
allowClear: true
});
从文档中 。
你需要使用你的select类( select2_single )
例:
$('#button_clear').click(function ()
{
$('.select2_single').select2('val','');
});
Debes usar la clase de tus select
EJ:
$('#button_clear').click(function ()
{
$('.select2_single').select2('val','');
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.