使用行 $(".chosen-select").val('').trigger("chosen:updated"); 在 jquery 脚本中不会重置所选的表单字段。 不过,它适用于单个下拉列表。
尝试以下操作:
$('.chosen-select option:selected').removeAttr('selected');
$('.chosen-select').trigger('chosen:updated');
尝试过,但是为多个生成的 html 与单个选择不同。
就是这里。
<div class="chosen-container chosen-container-multi" style="width: 100%;" title="" id="users_chosen">
<ul class="chosen-choices">
<li class="search-choice">
<span>Manus </span>
<a class="search-choice-close" data-option-array-index="1"></a>
</li>
<li class="search-field">
<input type="text" style="width: 25px;" autocomplete="off" class="" value="Choose users...">
</li>
</ul>
<div class="chosen-drop">
<ul class="chosen-results">
<li data-option-array-index="1" style="" class="result-selected">Manus </li>
<li data-option-array-index="2" style="" class="active-result">Owen </li>
<li data-option-array-index="3" style="" class="active-result">Sean </li>
<li data-option-array-index="4" style="" class="active-result">Sinead </li>
</ul>
</div>
</div>
非常感谢,我一直在寻找这个选项并已在 StackOverflow 网站上发布,但没有得到任何回复。 看起来这个论坛更活跃:+1:
我试图用类似的东西重置整个表单:
var form = $('form');
form.get(0).reset();
form.find('.filterSelect').trigger('chosen:updated');
但我有类似的问题......对于单个下拉菜单,一切正常。 但是多重选择不再有占位符了。
多选需要一个数组作为值,因此要使用 jQuery 重置它,您可以使用以下命令:
$('.chosen-select').val([]).trigger('chosen:updated')
请参阅此处以获取实时示例: https ://jsfiddle.net/koenpunt/L1sd259w/
最有用的评论
多选需要一个数组作为值,因此要使用 jQuery 重置它,您可以使用以下命令:
请参阅此处以获取实时示例: https ://jsfiddle.net/koenpunt/L1sd259w/