如何取消选择多选小部件中的所有选项

时间:2012-02-13 15:59:54

标签: jquery multi-select

我正在使用jquery multiselect小部件。我想取消选中所有这些都是手动检查的。我有一个示例代码 JSFiddle--> Code

这不起作用。当手动选择选择选项时,在选择它时检查未选中的选项是否为第一次给我1(在最后一个选项中单击)。所以我检查$this.children("option").not('[selected]').length是否为1和ui.checked并调用uncheckAll 但在那之后它的代码表现得很好 如果$this.children("option").not('[selected]').length在选择最后一个时给我0。

我想知道发生了什么。

2 个答案:

答案 0 :(得分:13)

那么这就是您想要的解决方案...查看 documentation ,方法getChecked获取selected options。你的工作没有用,因为插件会重新格式化选择元素。

$('.multi').multiselect({
    click: function(e, ui){
    if($(this).multiselect("getChecked").length  
                              == $('select.multi > option').length){
       $(this).multiselect("uncheckAll");    
    }        
  }
});

小提琴示例: http://jsfiddle.net/fG6PT/11/

答案 1 :(得分:9)

$("#multiselectelement").multiselect("uncheckAll");