2015-06-20 208 views
-5

我有一个HTML表格。我想要的是最后一列总数。 这些是除外结果如何计算最后一列总计

-------------------------------- 
    | Names  |Process_id | total| 
    -------------------------------- 
    |construction 1001  1001 | 
    |engineering  1005  1005 | 
    |total   0  2006 | 
    ---------------------------------- 

I tried some thing here

请帮我这些

谢谢。

+1

如果您可以在此处发布您的代码而不是链接到其他网站,那会更好。 – Blip

回答

1

尝试这样

rowCount = $('#table4 tr:last').index() + 1; 
var total_1 = 0; 
for (i = 1; i < rowCount; i++) { 
    var rows = $('#table4 tbody tr'); 
    var cellVal_2 = parseFloat($('#table4 tr:eq(' + i + ')').find("td:last").text().replace(',', '')); 
    $('#table4 tr td:last').each(function() { 
     var cellVal_1 = parseFloat($('#table4 tr:eq(' + i + ')').find("td:last").text().replace(',', '')); 
     if (!isNaN(cellVal_1)) { 
      total_1 = total_1 + cellVal_1; 
     } 
    }); 
} 
$('#table4 tr:last td:last').html(total_1); 
+0

你修改了哪行请告诉我那一行。 –

+0

我已经在循环之外拉出total_1来完全没有别的。 –

+0

我也修改了第一行和最后一行 –

1

做到这一点:

<table> 
    <tbody> 
    <tr> 
     <td class='js-total-column'>1001</td> 
    </tr> 
    <tr> 
     <td class='js-total-column'>1005</td> 
    </tr> 
    <tr> 
     <td class='js-total-column'></td> 
    </tr> 
    </tbody> 
</table> 

var totalSum = 0; 
$('.js-total-column').each(function() { 
    var total = $(this).html(); 
    totalSum += total; 
}); 

添加一个目标类的每个细胞总数,然后遍历它们的JQuery与.each()由一个执行处理一个。使用$(this)来获取循环内的单个单元格。

我从表格中删除了其他td s和thead,以关注与答案有关的内容。

你也可以使用html data-属性和jquery data()方法 - 这种方式可以保证你总是得到数字。单元格内容不一定稳定,如果某人在HTML中为数字添加了£符号前缀或单元后缀,会发生什么情况?或者,如果设计更改为要求内容包含额外的HTML结构。

+0

我不想在jquery中使用类。感谢您的重播,我会给你投票。感谢您的回答。 –

+0

为什么不在jQuery中使用类?例如,如果列顺序在将来发生变化,那么这是一个很好的方法,可以让事情变得更加健壮。 –

+0

在我的表中都是动态列。我们可以在jquery中使用该类。目前的要求不需要类。谢谢 –