使用javascript / jquery

时间:2019-04-18 08:30:27

标签: javascript jquery parsing

我要在此处进行的操作是,将NETT价格的值与总价结合起来,并在总价可用时返回,并返回到先前的值是返回空值,以便最终可以添加总计。

etc thing || NETT || Total
                      10
[Add Order]

在插入Nett之后

etc thing || NETT || Total
              9        9
[Add Order]

删除净额

etc thing || NETT || Total
                      10
[Add Order] click to add second line

尝试使用一些想法 例如 如果净额不等于空 总计=净额 并加到总计 但似乎总数会混淆并使用二阶减去一阶总数 所以我们尝试了另一种使用差异的方法 引起同样的问题 总负净值相等 总等于总负净额 这段代码看起来该死的愚蠢,但无论如何我们都会对其进行测试,但这还会导致进一步的问题



    function calcAll() {
                // calculate total for one row

                $(".item").each(function () {
                    var qnty = 0;
                    var perunit = 0;
                    var discount = 0;
                    var area = 0;
                    var nett = 0;
                    var nett_2 = 0;
                    var total = 0;
                    var Total_Initial = 0;
                    var Discount_Value = 0;
                    var Total_Discount = 0;
                    var Final_NETT = 0;


                    if (!isNaN(parseFloat($(this).find(".perunit").val()))) {
                        perunit = parseFloat($(this).find(".perunit").val());
                    }

                    if (!isNaN(parseFloat($(this).find(".quantity").val()))) {
                        qnty = parseFloat($(this).find(".quantity").val());
                    }
                    if (!isNaN(parseFloat($(this).find(".discount").val()))) {
                        discount = parseFloat($(this).find(".discount").val());
                    }
                    if (!isNaN(parseFloat($(this).find(".area").val()))) {
                        area = parseFloat($(this).find(".area").val());
                    }

                    if (!isNaN(parseFloat($(this).find(".nett").val()))) {
                        nett = parseFloat($(this).find(".nett").val());
                    }   


                    total = qnty * perunit;
                    Total_Initial = perunit * qnty;
                    Discount_Value = ((discount/100) * total);
                    Total_Discount = total - Discount_Value;
                    nett_2 = ((area/100) * Total_Discount) ;
                    Final_NETT = Total_Discount - nett_2;   

                    $(this).find(".perunit").val(perunit.toFixed(2));
                    $(this).find(".initial").val(Total_Initial.toFixed(2));
                    //$(this).find(".NETT").val(Final_NETT.toFixed(2));
                    $(this).find(".Total").val(Final_NETT.toFixed(2));
                });



                // sum all totals
                var sum = 0;
                var sum2 = 0;
                var diff = 0;
                var grandtotal = 0;
                $(".Total").each(function () {
                    if (!isNaN(this.value) && this.value.length != 0) {
                        sum += parseFloat(this.value);
                    }
                });

                $(".nett").each(function () {
                    if (!isNaN(this.value) && this.value.length != 0) {
                        sum2 += parseFloat(this.value);
                    }
                });         

                diff = sum - sum2;
                grandtotal = sum - diff;
                // show values in grandtotal

                $("#grandtotal").val(diff.toFixed(2));


            }

期望 这三种或更多方式建议您是否可以 1)第一个想法,总计将根据净额 在nett上输入200并显示总计200 删除200并显示初始总计 2)第二个总计将不按nett计算的想法(可以参考原始总计) 输入200并显示在隐藏的total2中 删除200并删除隐藏的初始总计2 并加起来总计 3)如果Nett为空则自动搜索=总计,如果不为空则取Nett

0 个答案:

没有答案