/** * * @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,带复选框
<xmdc:form style="position:relative;top:10px;" id="AEDT_account">
<xmdc:panelGrid columns="10" width="98%" styleClass="content_table"
align="center" columnwidths="4%,6%,4%,8.5%,4%,6%,5%,5.5%,2.5%,4.5%"
columnaligns="right,left,right,left,right,left,right,left,right,left"
columnClasses="content_index,content_body,content_index,content_body,
content_index,content_body,content_index,content_body,content_index,content_body">
<xmdc:outputText value="移交人员"></xmdc:outputText>
<xmdc:panelGroup>
<xmdc:inputText style="width:80px;validator:checkNotNull(移交人员);"
value="#{AddExistDataTra