jsダイナミック計算テーブルのある列の値の合計
7050 ワード
もっと読む
/**
*
* @tableId id
* @numId id
* @index
* @first
* @obj checkbox
*/
function countNum(tableId, numId, index, first,obj) {
var sumStr = document.getElementById(numId);
//
if (null != obj) {
var num = new Number(obj.parentElement.parentElement.cells[index].innerText);
if (obj.checked) {
sumStr.value = new Number(sumStr.value) + num;
}
else {
sumStr.value = new Number(sumStr.value) - num;
}
}
//
else {
var table = document.getElementById(tableId);
var sum = 0;
var rows = table.rows;
for (i = 1; i < rows.length; i++) {
//
var checkObj = rows[i].cells[0].all[0];
var flag = false;
if (null != checkObj
&& typeof checkObj.type != 'undefined'
&& checkObj.type == 'checkbox') {
flag = checkObj.checked;
}
//
if (first || flag) {
var num = new Number(rows[i].cells[index].innerText);
sum = sum + num;
}
}
sumStr.value = sum;
}
}
1.jsp、チェックボックスがあります.
2.jsp、チェックボックスなし