Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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
Javascript 如何使用jQuery统计列中值的总数?_Javascript_Jquery - Fatal编程技术网

Javascript 如何使用jQuery统计列中值的总数?

Javascript 如何使用jQuery统计列中值的总数?,javascript,jquery,Javascript,Jquery,创建的列的总行应为“7”。赎回列的总行应为“6”。有时,只有两个月的争吵,或者可能有十次争吵。如何使用jQuery将这些值相加并将它们粘贴到表的最后一行 <table cellspacing="0" rules="all" border="1" id="DataGrid2" style="border-collapse:collapse;"> <tbody><tr> <td>CreationDate</td><td>

创建的列的总行应为“7”。赎回列的总行应为“6”。有时,只有两个月的争吵,或者可能有十次争吵。如何使用jQuery将这些值相加并将它们粘贴到表的最后一行

<table cellspacing="0" rules="all" border="1" id="DataGrid2" style="border-collapse:collapse;">
<tbody><tr>
    <td>CreationDate</td><td>Created</td><td>Redeemed</td>
</tr><tr>
    <td>August 2011</td><td>5</td><td>6</td>
</tr><tr>
    <td>July 2011</td><td>1</td><td>0</td>
</tr><tr>
    <td>June 2011</td><td>1</td><td>0</td>
</tr><tr>
    <td>Total</td><td>&nbsp;</td><td>&nbsp;</td>
</tr>

CreationDateCreatedReased
2011年8月156日
2011年7月110日
2011年6月11日
全部的

图像:

对于每一列
i
,循环表中的每一行(即每一行
),跟踪该行
i
th
的运行总和

var total = 0;

$('#DataGrid2 td:nth-child(3)').each(function(){
    total += parseInt($(this).text()) || 0;
});

$('#DataGrid2 td:last').text(total);

好的,这一个获取两列的值

var c2Total = 0;
var c3Total = 0;

$("tr").find("td").each(function(){
    var curVal = parseInt($(this).text());

    if(!isNaN(curVal)){
        if($(this).index() == 1){
           c2Total += parseInt($(this).text());
        }
        else if($(this).index() == 2){
           c3Total += parseInt($(this).text());
        }
    }

});
$("#DataGrid2 tr:last td:eq(1)").text(c2Total );
$("#DataGrid2 tr:last td:eq(2)").text(c3Total );

您可以在这里看到fiddle:

不是最干净的解决方案,但应支持无限多的列,而无需进一步编辑:

$(function() {
    var totals = [];
    $("#DataGrid2 tr:gt(0)").each(function(){
        $(this).find("td:gt(0)").each(function(){
            var val = (parseInt($(this).text()) || 0);
            totals[$(this).index() - 1] = ((totals[$(this).index() - 1]) ? totals[$(this).index() - 1] + val : val);
        });             
    });

    for(var i = 0; i < totals.length; i++) {
        $("#DataGrid2 tr:last td:eq(" + (i + 1) + ")").text(totals[i]); 
    }

});
$(函数(){
var总计=[];
$(“#DataGrid2 tr:gt(0)”)。每个(函数(){
$(this).find(“td:gt(0)”).each(函数(){
var val=(parseInt($(this.text())| | 0);
总计[$(this.index()-1]=((总计[$(this.index()-1])?总计[$(this.index()-1]+val:val);
});             
});
对于(变量i=0;i
我有一个JQuery插件,,它对任意表进行求和。默认情况下,它假定您要对具有
.sum
类的单元格的
中的行求和。它使用
.summary
类将结果吐出到行中

默认设置很容易配置


.

这起作用了,但只将已赎回的列相加。创建的列为空。有什么想法吗?这很有效,但只会得到创建的列。我怎样才能得到赎回的总额呢?