当我尝试使用绑定到我的多选控件的某些方法时,我遇到了一些问题。
当页面加载时,我以这种方式将一个方法绑定到小部件:
$('#myMultiselect').bind('multiselectcheckall',
function(event, ui){
alert('All Multiselect items selected!');
});
);
但在部分回发后,这将停止工作。有任何想法吗?
当我尝试使用绑定到我的多选控件的某些方法时,我遇到了一些问题。
当页面加载时,我以这种方式将一个方法绑定到小部件:
$('#myMultiselect').bind('multiselectcheckall',
function(event, ui){
alert('All Multiselect items selected!');
});
);
但在部分回发后,这将停止工作。有任何想法吗?
您在创建 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
希望我对你有帮助!!