1

当我尝试使用绑定到我的多选控件的某些方法时,我遇到了一些问题。

当页面加载时,我以这种方式将一个方法绑定到小部件:

$('#myMultiselect').bind('multiselectcheckall', 
    function(event, ui){
        alert('All Multiselect items selected!');
    });
);

但在部分回发后,这将停止工作。有任何想法吗?

4

1 回答 1

-1

您在创建 multiselect 时是否尝试过使用它?

$("#myMultiselect").multiselect({

   checkAll: function(){
      alert('All Multiselect items selected!');
   }

});

编辑: 好的,我知道checkAll只有在单击“全部检查”按钮时才有效。因此,您必须在每次点击时获取已检查项目的数量,并将其与项目总数进行比较,如下所示:

var size = $(this).find('option').size(); //total items amount
var checked = $(this).multiselect('getChecked').size(); //checked items amount

将它与click事件一起使用,并且不要忘记保留该checkAll事件,因为单击“检查全部”不会触发click事件:)

$("#myMultiselect").multiselect({
   click: function(){
       var size = $(this).find('option').size(); //total items amount
       var checked = $(this).multiselect('getChecked').size(); //checked items amount
       if (size == checked){
           alert('All Multiselect items (manually) selected!');
       }
   },
   checkAll: function(){
       alert('All Multiselect items selected!');
   }
});

这是一个演示:JSFiddle

希望我对你有帮助!!

于 2013-10-10T08:57:34.720 回答