利用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>
|
效果图: