如何停止jqgrid中的onSelectAll事件?
问题描述:
我需要知道在用户单击“全选”复选框之前,是否在jqgrid中选中了一个复选框。我已经检查了它的onSelectAll事件,但在这一点,所有的复选框已被选中:(使信息被遗漏。如何停止jqgrid中的onSelectAll事件?
onSelectAll: function(aRowids, status) {
$("input[id^='jqg_'].cbox:checked").each(function() {
//All are selecteds now :(
console.log("no success!");
});
我知道我可以通过JavaScript数组,并把控制选择复选框我试图避免这种解决方法
我试图绑定'选择所有'复选框中的点击事件,但'onSelectAll'事件被激发之前'点击'事件:(
$("#cb_list1").bind({
click: function() {
console.log("hello");},
});
因此'hello'appe '没有成功'之后的ars,'没有成功'出现在我的jqgrid有多少行(不管在点击'全部选中'复选框之前已经选择了多少行)。
有什么想法?
谢谢!
答
您可以编写onSelectAllBefore函数并在onSelectAll之前调用它。
onSelectAll: function(aRowids, status) {
onSelectAllBefore(aRowids, status, function() {
$("input[id^='jqg_'].cbox:checked").each(function() {
//All are selecteds now :(
console.log("no success!");
});
});
function onSelectAllBefore(aRowids, status, callback) {
console.log("hello");
callback(aRowids, status);
}
@Ivan你看到控制台中的“hello”之前,“没有成功!”? – kobe
是的...这工作,但我的问题没有解决,因为在两个函数(onSelectAllBefore和onSelectAll),当我尝试获得选定的复选框我得到相同的结果:所有这些:( – Ivan