【问题标题】:JqGrid: Fetch count of selected rows and add Column valueJqG​​rid:获取所选行的计数并添加列值
【发布时间】:2015-07-02 10:33:32
【问题描述】:

下面的代码用于获取选择的多行计数并根据列名dm添加值

var myrow;
var id = jQuery('#grid').jqGrid('getGridParam', 'selarrrow');
console.log(id.length);
if(id.length)
{
    for (var i=0;i<id.length;i++)  
        {
            myrow = jQuery("#grid").jqGrid('getCell',id[i],'dm'); 
        }
}

行数是正确的,但是如何根据行选择添加列中的所有值? myrow 给出最后选定行的值,但不给出所有选定行的相加。

【问题讨论】:

  • 您在循环中为 myrow 分配不同的值。循环结束后,最后一个值 (Query("#grid").jqGrid('getCell',id[id.length-1],'dm')) 将位于 myrow 中。目前尚不清楚您要实现什么...
  • 我需要显示所选行的总数以及所选行的列值的添加

标签: jquery jqgrid jqgrid-php


【解决方案1】:

我不确定您必须填写 myrow 的值,但我想您需要修改代码以使用类似以下的内容

var myrow = [], i;
...
for (i=0; i<id.length; i++) {
    myrow.push(jQuery("#grid").jqGrid('getCell', id[i], 'dm'));
}
myrow = myrow.join(); // create comma separated list with values

更新:如果dm 列的数值为 25.00、5.00,并且您需要对选定行的 dm 列中的值进行 sum代码可以是

var myrow = 0, i;
...
for (i=0; i<id.length; i++) {
    myrow += parseFloat($("#grid").jqGrid('getCell', id[i], 'dm'));
}
alert("The sum is: " + myrow);

【讨论】:

  • Oleg: dm 列具有不同行的数值,例如 25.00, 5.00。当用户选择具有上述列值的两行时,我需要显示其总和,即25.00+5.00=30.00
  • myrow += jQuery("#grid").jqGrid('getCell',id[i],'dm'); 添加这两个值,但它说undefined 25.005.00
  • @Slimshadddyyy:如果您需要总和,那么您应该将返回的值转换为数字:myrow += parseFloat(jQuery("#grid").jqGrid('getCell',id[i],'dm')); 并将myrow 初始化为0。请参阅我的回答的已更新部分。
  • @Slimshadddyyy:抱歉,我看不出代码中有什么重要的区别。代码有问题吗?
  • Oleg:也一样,请看更新var myrow= 0; for (var i=0;i&lt;id.length;i++){ myrow+= parseFloat(jQuery("#grid").jqGrid('getCell',id[i],'dm')); }
猜你喜欢
  • 2019-04-29
  • 1970-01-01
  • 2018-03-26
  • 1970-01-01
  • 2013-10-15
  • 1970-01-01
  • 2014-07-28
  • 2011-07-04
  • 1970-01-01
相关资源
最近更新 更多