你的位置:首页 > Java教程

[Java教程]jquery实现的统计table表格指定列的单元格值的和


jquery实现的统计t]able表格指定列的单元格值的和:
在一些应用中,表格单元格中存放的都是数字,比如学生的分数,那么就有可能将这些分数做加法运算来统计出总分数,下面就通过代码实例介绍一下如何统计某一列单元格中值的和。
代码实例:

<!DOCTYPE html><html><head><meta charset=" utf-8"><meta name="author" content="http://www.softwhy.com/" /><title>蚂蚁部落</title><script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script><script type="text/javascript"> $(document).ready(function(){  var totalRow=0  $('#mytable tr').each(function(){   $(this).find('td:eq(2)').each(function(){   totalRow += parseFloat($(this).text());  }); }); $('#totalRow').append('<td>合计</td><td></td><td>'+totalRow+'</td><td></td>'); }); </script></head><body><table id="mytable" border="1" width="37%"> <thead> </thead> <tr>  <td width="63" >11</td>  <td width="68" >12</td>  <td width="62" >13</td>  <td width="75" >14</td> </tr> <tr>  <td width="63" >21</td>  <td width="68" >22</td>  <td width="62" >23</td>  <td width="75" >24</td> </tr> <tr id="totalRow"></tr></table></body></html>

上面的代码实现了我们的要求,能够统计出第三列单元格中值的和,下面介绍一下它的实现过程。
一.代码注释:
1.$(document).ready(function(){}),dom结构完全加载完毕再去执行函数中的代码。
2.var totalRow=0,声明一个变量用来存放计算和的值。3.$('#mytable tr').each(function(){}),遍历表格的每一个tr行。
4.$(this).find('td:eq(2)').each(function(){totalRow+=parseFloat($(this).text());}),获取当前行索引值为2的单元格,并且再使用each()函数进行遍历,并将单元格中的数字内容进行累加计算。可能很多朋友有这样的疑问,为什么不直接使用$(this).find('td:eq(2)')进行计算,就一个单元格还需要使用each()函数进行遍历吗,其实还是有必要的,因为最后一个tr是没有td单元格的,这样的话text()函数返回值就是空,那么parseFloat()转换的话就会返回NaN值,最终计算结果可能出错,但是如果使用each()进行遍历,由于最后tr行没有td单元格,那么就不执行函数,也就避免上面的问题。
5.$('#totalRow').append('<td>合计</td><td></td><td>'+totalRow+'</td><td></td>'),动态添加tr中的内容。
二.相关阅读:
1.each()函数可以参阅jQuery的each()方法一章节。
2.find()函数可以参阅jQuery的find()方法一章节。 
3.parseFloat()函数可以参阅javascript的parseFloat()方法一章节。
4.append()函数可以参阅jQuery的append()方法一章节。

原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=15141

更多内容可以参阅:http://www.softwhy.com/jquery/