Bab*_*aby 5 javascript checkbox jquery jqgrid
我试图在JQgrid中显示所选行.现在,我有这个代码:
onSelectRow:function(rowid){
var selectedRow = $('#mygrid').jqGrid('getGridParam', 'selarrrow');
$("#totalSelected").val(selectedRow .length);
}
Run Code Online (Sandbox Code Playgroud)
它工作正常,但是当选中'select all'复选框时,它没有触发此代码,尽管在视觉中我们可以看到所有行都已被选中.
所以我想如果我知道选中'全选'复选框,我可以像这样设置所选的总值:
if(//selectall checkbox is checked)
$("#totalSelected").val($("#mygrid tr").length-1);
Run Code Online (Sandbox Code Playgroud)
我通过引用这个答案尝试了这个代码,但我很确定.checked()无法识别:
if($("#cb_mygrid"[0].id).checked())
$("#totalSelected").val($("#mygrid tr").length-1);
Run Code Online (Sandbox Code Playgroud)
任何想法都非常感谢
使用标题复选框选择所有项目时,onSelectRow不会触发.有一个单独的事件处理程序来捕获Select All事件.从文档:
onSelectAll
向您发送以下参数:aRowids,status
当multiselect选项为true并且单击标题复选框时,将触发此事件.aRowids是所选行(rowid)的数组.status是一个确定标题复选框状态的布尔变量 - 如果选中则为true,否则为false.请注意,无论是选中还是取消选中标题复选框,aRowids数组都将始终包含ids.
触发此事件时,在您的情况下,您需要执行以下操作以显示所选行的正确计数:
onSelectAll: function(aRowids, status) {
//Use a ternary operator to choose zero if the header has just been unchecked, or the total items if it has just been checked.
$("#totalSelected").val(status === false ? 0 : aRowids.length);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14697 次 |
| 最近记录: |