将文本框的值计算到另一个

时间:2014-01-17 18:53:41

标签: jquery

如果您点击添加项目,则会显示3个文本框。如果您输入费用成本中的金额,则必须以总成本(或我输入的所有费用的总和)显示,然后如果我将在采购成本中输入金额,则总成本必须显示费用成本和采购的总和成本,自动。但我的问题是,如果我现在在Acquisition中输入内容,则总成本变为零(0)。

以下是示例:JSFIDDLE

var nitem =0; 
var ntotal = 0;

        $(document).on('change', '.expense_cost', function() { 
            ntotal = 0;
                $('.expense_cost').each(function(){ 
                    if($(this).val() != ""){
                        ntotal += parseFloat($(this).val()); 
                        }
                    }); 
                $('#total').val(ntotal); 
            }); 

        $('.btn').click(function() { 
            nitem++; 
                $('#wrapper').before('<div id="div' + nitem + '" class="inputwrap">' +
                    '<input class="expense_name" placeholder="Expense Name" id="' + nitem + '"/>' +
                    '<input class="expense_desc" placeholder="Expense Description" id="' + nitem + '"/>' +
                    '<input class="expense_cost" placeholder="Expense Cost" id="' + nitem + '"/><br><br>' +
                    '</div>');  
                }); 

        $('.btn2').click(function() {           
            ntotal = $('#total').val(); 
                $("#div" + nitem + " .expense_cost").each(function(){               
                    if($(this).val() != ""){
                        ntotal -= parseFloat($(this).val()); 
                        }
                    }); 

                    $("#div" + nitem ).remove();
                        nitem--; 
                    $('#total').val(ntotal); }); 




        var textbox = $("#txtTaxPercent");
        var ResultTextbox = $("#txtfctTaxValue");
        var PriceTextbox = $("#txtPurePrice");
        var pricetotal = $("#total");
            $([textbox[0], PriceTextbox[0]]).bind("change keyup keydown paste", function(e) {
                var Result;
                Result = (parseFloat(textbox.val()) / 100) * parseInt(PriceTextbox.val());
                pricetotal.val(Result);
                ResultTextbox.val(Result);  

            });  

1 个答案:

答案 0 :(得分:0)

我看过你的代码并发现了一些问题。我已经解决了大部分问题,现在它正在发挥作用。我改变了这个和其他一些。

     $([textbox[0], PriceTextbox[0]]).bind("keyup paste", function(e) {
                $("#txtfctTaxValue").val(0);
                var Result;

                totalItemExpence();
                if(PriceTextbox.val()!=="" ){
                    Result = (parseFloat(textbox.val()) / 100) * parseInt(PriceTextbox.val());
                }
                else{
                    Result = 0;
                }
                Result = parseFloat( Result) + ntotal;
                pricetotal.val(Result);
                ResultTextbox.val(Result);  

            });  

在计算购置成本变更总体时,您并不关心项目的总费用。并且还尝试使用文本框值检查值为null或为空或否则您将在算术运算中获得NAN。看看http://jsfiddle.net/hannnan/6jga8/15/