【问题标题】:how to unselect all options in multiselect widget如何取消选择多选小部件中的所有选项
【发布时间】:2012-03-05 00:56:48
【问题描述】:

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

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

我想知道发生了什么。

【问题讨论】:

  • 我不知道你在问什么,小提琴中的检查/取消检查对我来说很好吗?
  • 尝试手动选择所有这些。 multiselectclick 事件应该被触发。如果选择了所有选项,则应取消选中所有未发生的选项
  • 如果我手动检查它们对我有用

标签: jquery multi-select


【解决方案1】:

好吧,这就是您想要的解决方案...检查 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/

【讨论】:

  • 这很有魅力。请注意,这仅适用于 Jquery 多选插件
【解决方案2】:
$("#multiselectelement").multiselect("uncheckAll");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-14
    • 1970-01-01
    • 1970-01-01
    • 2019-01-05
    • 2018-05-18
    • 2021-09-19
    • 1970-01-01
    相关资源
    最近更新 更多