利用Jquery选择器,计算table中的某一列,某一行的合计,非常方便。下面以计算行合计为例:
核心算法:
1
2
3
4
5
|
$( '#tableId tr' ).each( function () { $( this ).find( 'td:eq(columnIndex)' ).each( function () { totalAmount += parseFloat($( this ).text()); }) }); |
下面是案例代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > <html xmlns= "http://www.w3.org/1999/xhtml" > <head> <meta http-equiv= "Content-Type" content= "text/html; charset=utf-8" /> <title>Jquery计算table行合计</title> <script id= "jquery_183" type= "text/javascript" class= "library" src= "http://runjs.cn/js/sandbox/jquery/jquery-1.8.3.min.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 style= "width:100%; height:100%;" > <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> |
效果图: