我使用Bootstrap select创建了一个多选选择控件。
默认情况下,我需要显示动态选定的项目。当我在选项中选择所有选择(X
)时,默认显示在UI中选择。但是当选择一个选项时,它不会显示勾号。
演示在这里:https://jsfiddle.net/sharmilashree/L7wzv5k0/10/
(即)
<option value="All" selected >All</option>
答案 0 :(得分:1)
我怀疑问题就像你评论的那样:
$('#myselect').selectpicker().change(function () { toggleSelectAll($(this)); }).trigger('change');
如果您放弃trigger('change')
它按预期工作:
https://jsfiddle.net/Twisty/3pfq5u41/
我想我的问题是为什么触发change
事件?真的,我认为你只想在选择“全部”值时执行toggleSelectAll()
。
或许类似于:https://jsfiddle.net/Twisty/3pfq5u41/2/
希望有所帮助。
答案 1 :(得分:0)
替换
$('#myselect').selectpicker().change(function () { toggleSelectAll($(this)); }).trigger('change');
到
$('#myselect').selectpicker().change(function () { toggleSelectAll($(this)); }).trigger('select');
检查&#34; undefined&#34;同样。
if(control.data(&#39; allOptionIsSelected&#39;)!= allOptionIsSelected&amp;&amp; typeof(control.data(&#39; allOptionIsSelected&#39;))!=&#34; undefined&#34 ;) {
你完成了! 快乐的编码。