Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Jqgrid-使用全选获取所选行的总数_Jquery_Jqgrid - Fatal编程技术网

Jquery Jqgrid-使用全选获取所选行的总数

Jquery Jqgrid-使用全选获取所选行的总数,jquery,jqgrid,Jquery,Jqgrid,使用下面生成的multiselect:true选择所有输入复选框 <input type="checkbox" class="cbox" id="cb_grid" role="checkbox"> 代码段给出了单独选择的总行数的正确计数,但如果使用selectall复选框选择了所有行,则给出的计数不正确 将1添加到总行数中进行计数 如何避免此问题?尝试以下操作:检查“全选”复选框的状态,并从totalRows.length中减去1(如果选中) var totalRows = jQu

使用下面生成的
multiselect:true
选择所有输入复选框

<input type="checkbox" class="cbox" id="cb_grid" role="checkbox">
代码段给出了单独选择的总行数的正确计数,但如果使用
selectall
复选框选择了所有行,则给出的计数不正确 将
1
添加到总行数中进行计数


如何避免此问题?

尝试以下操作:检查“全选”复选框的状态,并从
totalRows.length中减去1(如果选中)

var totalRows = jQuery('#grid').jqGrid('getGridParam', 'selarrrow');
var totalRowsCount = totalRows.length;
//check if select all checkbox checked then substract 1
if(jQuery('#cb_grid').is(':checked'))
{
    totalRowsCount = totalRowsCount - 1;
}
console.log(totalRowsCount);

这是因为它正在计算总行数的
全选
复选框。因此,总行数+1是计数。@BhushanKawadkar我如何防止计数
select all
行,以便我给出正确的计数?请检查下面的答案。您在测试中使用的jqGrid的哪个分支和jqGrid的哪个版本?@Oleg版本是
jqGrid 4.6.0
var totalRows = jQuery('#grid').jqGrid('getGridParam', 'selarrrow');
var totalRowsCount = totalRows.length;
//check if select all checkbox checked then substract 1
if(jQuery('#cb_grid').is(':checked'))
{
    totalRowsCount = totalRowsCount - 1;
}
console.log(totalRowsCount);