删除表行时重新计算总计
Recalculate total when table row is deleted
这是小提琴。我想要的是删除一行时重新计算总数。我试过这个,但它不起作用:
tot -= parseInt(table.rows[i].cells[1].innerHTML)
table.deleteRow(i);
rowCount--;
i--;
这是我的代码:
<div class="lorr">
<table id="myTable" border="1">
</table>
<br />
</div>
<button id="deletes">Remove Checked</button>
<button type="button" onclick="displayResult()">Insert new row</button>
<div id="total">
</div>
<script type="text/javascript">
function displayResult()
{
var swap = '<input type="checkbox" class="escondeyou">';
var table = document.getElementById("myTable");
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
cell1.innerHTML = swap+"NEW CELL1ffffffffffffffffff ui7iytuiui riuiui ri";
cell2.innerHTML = "600";
cell2.style.fontWeight="bold";
cell2.style.wordBreak="keep-all";
var tot = "RD$"+document.getElementById("total").innerHTML;
// ******************** Important part ******************************
var tot=0;
for(var i=0;i<=rowCount;i++){
tot += parseInt(table.rows[i].cells[1].innerHTML);
}
document.getElementById("total").innerHTML=tot;
};
</script>
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
这是工作: http://jsfiddle.net/joansuriel/QmHdL/50/
以下是您的点击处理程序应该在不更改太多代码的情况下执行的操作。请注意,您可以重用 calcTotal,但要小心,我会循环直到我
$('#deletes').click(function(){
$("table input[type='checkbox']:checked").parent().parent().remove();
calcTotal(document.getElementById("myTable"), document.getElementById("total"));
});
function calcTotal(table, total){
var tot = 0;
for(var i=0;i<table.rows.length;i++){
tot += parseInt(table.rows[i].cells[1].innerHTML);
}
total.innerHTML=tot;
}
所以你有一个删除方法,只需用它做点什么。
您的代码:
$('#deletes').click(function(){
$("table input[type='checkbox']:checked").parent().parent().remove();
});
更改为:
$('#deletes').click(function(){
$("table input[type='checkbox']:checked").parent().parent().remove();
var $table = document.getElementById("myTable");
var total = 0;
for (var i=0; i < $table.rows.length; i++) {
var currentRow = $table.rows[i];
total = total + parseInt(currentRow.cells[currentRow.cells.length - 1].innerHTML);
}
document.getElementById("total").innerHTML = total.toString();
});
如果您有任何问题,请评论我。
相关文章:
- 从HTML表单中获取计算得到的JavaScript数据,并将其作为新元素添加到相同的表单操作中以使用PHP保存
- 点击功能打开新窗口并计算点击次数
- 如何计算缩放后画布的新高度和宽度
- 如何计算 SharePoint 库/列表中的新项目数
- 两个具有相同值的对象,计算和更改一个对象的值.第二个也具有新的价值
- 修改函数以计算到新的一年,而不是返回值 12/33/2014
- JavaScript 中的 HTTP 摘要.新 URI 的 MD5 重新计算
- 新偏移量更新字体大小后不计算高度
- JavaScript计算不计算
- 访问内部属性名称以计算 ES6 中的新属性
- d3:计算两个节点之间的线的中点,画一条从它到一个新节点成90度角的线
- 如何计算新项目在转换容器中的位置
- 如何通过输入或从其他输入中计算出计算出的可观测值
- 如何从JavaScript对象中具有关系的数字计算新值
- 如何从javascript对象中计算新数据
- D3饼图更新后不计算新路径值
- Textarea在PHP中不计算新行
- 如何动画宽度和计算新的左位置在同一时间与jQuery
- jQuery从当前日期的秒数计算新的日期
- 给定原始图像的分辨率,如何在缩放后使用javascript计算新的分辨率