从表中删除行时如何更改计算 [英] How to change calculation when the row is removed from a table

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

问题描述

我的问题是计算工作正常,但是当删除该行时,计算不会根据创建新行并执行计算后的值进行更新。请帮助我纠正此问题。 / p>

My problem is the calculations are working fine but when the row is removed the calculations are not updating according to that after creating a new row and after performing calculation only the values are updating..please help me to rectify this problem.

$(document).on('change', 'tr td:nth-child(6), tr td:nth-child(5), tr td:nth-child(4)', .
    'remove3'
    function() {
        var total = 0;
        var sqty = 0;
        var tr = $(this).parent();
        var qty = tr.find('td:nth-child(4)').find('input').val();
        var rate = tr.find('td:nth-child(5)').find('input').val();
        var amount = qty * rate;
        tr.find('td:nth-child(6)').find('input').val(amount);

        var tbody = tr.parent();

        $(tbody).find('tr').each(function() {
            total += Number($(this).find('td:nth-child(6)').find('input').val());
            sqty += Number($(this).find('td:nth-child(4)').find('input').val());
        });

        $('#TieTotal').val(total);
        $('#SQty').val(sqty);
        $('#Grandtot').val(total);
    })

自动创建下一行的脚本:

Script to create a next row automatically:

$('.tb3').on('keydown', 'input', function(e) {
    var keyCode = e.keyCode;
    if (keyCode !== 9) return;
    var $this = $(this),
        $lastTr = $('tr:last', $('.tb3')),
        $lastTd = $('td:last', $lastTr);
    if (($(e.target).closest('td')).is($lastTd)) {
        var cloned = $lastTr.clone();
        cloned.find('input').val('');

        $lastTr.after(cloned);
    }
});

删除行的脚本:

$(document).on('click', '.remove3', function() {
    var trIndex = $(this).closest("tr").index();
    if (trIndex > 0) {
        $(this).closest("tr").remove();
    } else {
        alert("Sorry!! Can't remove first row!");
    }
});


推荐答案

     $(document).on('change', 'tr td:nth-child(6), tr td:nth-child(5), tr td:nth-child(4)', .
            'remove3'
            function() {
                var total = 0;
                var sqty = 0;
                var tr = $(this).parent();
                var qty = tr.find('td:nth-child(4)').find('input').val();
                var rate = tr.find('td:nth-child(5)').find('input').val();
                var amount = qty * rate;
                tr.find('td:nth-child(6)').find('input').val(amount);

                var tbody = tr.parent();

                $(tbody).find('tr').each(function() {
                    total += Number($(this).find('td:nth-child(6)').find('input').val());
                    sqty += Number($(this).find('td:nth-child(4)').find('input').val());
                });

                $('#TieTotal').val(total);
                $('#SQty').val(sqty);
                $('#Grandtot').val(total);
            })

    Script to create a next row automatically:

        $('.tb3').on('keydown', 'input', function(e) {
            var keyCode = e.keyCode;
            if (keyCode !== 9) return;
            var $this = $(this),
                $lastTr = $('tr:last', $('.tb3')),
                $lastTd = $('td:last', $lastTr);
            if (($(e.target).closest('td')).is($lastTd)) {
                var cloned = $lastTr.clone();
                cloned.find('input').val('');

                $lastTr.after(cloned);
            }
        });

    Script to delete row:

        $(document).on('click', '.remove3', function() {
            var trIndex = $(this).closest("tr").index();
            if (trIndex > 0) {
                $(this).closest("tr").remove();
 $('.Qty').trigger('change');
            } else {
                alert("Sorry!! Can't remove first row!");
            }
        });

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

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