如何在删除表格行时更新小计文本框值 [英] how to update the subtotal textbox value while deleting table row

查看:84
本文介绍了如何在删除表格行时更新小计文本框值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的两个js函数添加和删除下面的表行工作正常,现在我有一个名为subtotal的输入框,其中添加行时添加收费小计没问题,现在我想要的是从stbtotal减去收费行被删除...请帮助...



my two js function to add and delete table row below working fine, now i have a input box named subtotal in which when adding row add the subtotal of charges no problem, now what i want is to subtract the charges from stbtotal when row is deleted...please help...

function addRow(dataTable) {

var table = document.getElementById(dataTable);


var testgrid = document.billfrm.services.value;
var testname = document.billfrm.services.options[services.selectedIndex].text;
var charges = document.billfrm.chgs.value;
var discount = document.billfrm.dis.value;
var amount = document.billfrm.amt.value;

var stot = parseFloat(document.getElementById('subtotal').value);
var val = parseFloat(charges)+ parseFloat(stot);
document.getElementById('subtotal').value =  val;

var bdis =parseFloat(document.getElementById('billdisc').value);
var val1 =parseFloat(bdis) + parseFloat(discount);
document.getElementById('billdisc').value = val1;

var rowCount = table.rows.length;
var row = table.insertRow(rowCount);

var cell1 = row.insertCell(0);
var element1 = document.createElement("input");
element1.type = "checkbox";
cell1.appendChild(element1);


var cell2 = row.insertCell(1);
var element2 = document.createElement("label");
element2.innerHTML = testgrid;
cell2.appendChild(element2);


var cell3 = row.insertCell(2);
var element3 = document.createElement("label");
element3.innerHTML = testname;
cell3.appendChild(element3);

var cell4 = row.insertCell(3);
var element4 = document.createElement("label");
element4.innerHTML = charges;
cell4.appendChild(element4);

var cell5 = row.insertCell(4);
var element5 = document.createElement("label");
element5.innerHTML = discount;
cell5.appendChild(element5);

var cell6 = row.insertCell(5);
var element6 = document.createElement("label");
element6.innerHTML = amount;
cell6.appendChild(element6);


var cell7 = row.insertCell(6);
var element7 = document.createElement("input");
element7.type="hidden";
element7.style.width= "0px";
element7.name="testgrid[]";
element7.value = testgrid;
cell7.appendChild(element7);

var cell8 = row.insertCell(7);
var element8 = document.createElement("input");
element8.type="hidden";
element8.style.width= "0px";
element8.name="testname[]";
element8.value = testname;
cell8.appendChild(element8);

var cell9 = row.insertCell(8);
var element9 = document.createElement("input");
element9.type="hidden";
element9.style.width= "0px";
element9.name="charges[]";
element9.value = charges;
cell9.appendChild(element9);

var cell10 = row.insertCell(9);
var element10 = document.createElement("input");
element10.type="hidden";
element10.style.width= "0px";
element10.name="discount[]";
element10.value = discount;
cell10.appendChild(element10);

var cell11 = row.insertCell(10);
var element11 = document.createElement("input");
element11.type="hidden";
element11.style.width= "0px";
element11.name="amount[]";
element11.value = amount;
cell11.appendChild(element11);





}


function deleteRow(dataTable) {
    try {
        var table = document.getElementById(dataTable);
        var rowCount = table.rows.length;

        for (var i=0; i<rowCount; i++) {
            var row = table.rows[i];
	
            var chkbox = row.cells[0].childNodes[0];
            if (null != chkbox && true == chkbox.checked) {
                table.deleteRow(i);
                rowCount--;
                i--;
            }

        }
    }
    catch(e) {
        alert(e);
    }
}

推荐答案

你可以试试这样的东西

You could try something like this
function deleteRow(dataTable) {
    try {
        var table = document.getElementById(dataTable);
        var rowCount = table.rows.length;

        var sumOfDeletedRpws = 0;
        for (var i=0; i < rowCount; i++) {
            var row = table.rows[i];
	
            var chkbox = row.cells[0].childNodes[0];
            if (null != chkbox && true == chkbox.checked) {

                // The line below is not syntactically correct, but you get the idea
                sumOfDeletedRpws += row[indexForWantedColumn];

                table.deleteRow(i);
                rowCount--;
                i--;
            }
        }

        // Add a line similar to this to subtract the values in the deleted rows
        stbtotal -= sumOfDeletedRpws;

    }
    catch(e) {
        alert(e);
    }
}


这篇关于如何在删除表格行时更新小计文本框值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆