js求table合计
js代码
参数列表:tableId,(需要求合计的列(数组),”“),或(起始列,终止列),起始行,结束行,table的总列数
function totalRow(tableId,beginCol,endCol,beginRow,endRow,tableCols){
var totalRow = 0;
var datas = new Array(tableCols);
var table = document.getElementById(tableId); //获得整个表格对象
var cols = new Array();
//判断第三个参数是否为空,如果不为空则说明是采用起始列和终止列方式,为空则说明采用的是数组的方式。
if(endCol != "" && endCol != "undefined" && endCol != null){
for(var m = beginCol,n = 0;m<endCol+1;m++,n++){
cols[n] = m;
}
}else{
cols = beginCol;
}
for(var i = 0;i<cols.length;i++){
for(var j = beginRow;j<endRow;j++){
num = table.rows[j].cells[cols[i]].innerText.trim(" ");//获取指定单元格的数值
if(num.length>0){
totalRow += parseFloat(num);
datas[i] = totalRow;
}
}
totalRow = 0;
}
$('#totalRow').append('<td class = "total">合计</td>');
for(var z = 0;z<datas.length;z++){
if(datas[z] == "" || datas[z] == null) {
datas[z] = 0;
}
$('#totalRow').append('<td class = "totalNum">'+datas[z]+'</td>');
}
}
css代码
.totalNum{
//设置合计行数据的样式
text-align: right;
}
.total{
//这里设置“合计”两字的样式
}
jsp代码
//设置合计行显示的位置,例如table首行或者末尾行
<tr id="totalRow"></tr>
调用方式
//求合计
$(function(){
totalRow("demoTable",1,8,3,${fn:length(list)+3},8);
});