对table表格中某一列求合计
var calcTotal=function(table,column){//合计,表格对象,对哪一列进行合计,第一列从0开始 var trs=table.getElementsByTagName('tr'); var start=1,//忽略第一行的表头 end=trs.length-1;//忽略最后合计的一行 var total=0; for(var i=start;i<end;i++){ var td=trs[i].getElementsByTagName('td')[column]; var t=parseFloat(td.innerHTML); if(t)total+=t; } trs[end].getElementsByTagName('td')[column].innerHTML=total; }; calcTotal(document.getElementById('table'),2);
多列求合计的话就遍历执行calcTotal()方法,传入table对象与列下标。
var len = $("#table").find("tr").eq(row).find("td").length;//row指去除头部后要统计的表格内容中任意行
for(var i=1;i<=len-1;i++){ calcTotal(document.getElementById('table'),i); }
要注意,如果统计数据所在单元格被合并,需要进行判断,否则会出现列错位统计的现象。