基于文本框的Jquery求和和减去值

时间:2012-11-01 11:50:43

标签: jquery

1)我有 3个文本框如果第一个文本框被填充,则第二个文本框自动从DB更新并添加到第三个文本框。

2)然而,如果选择第3个文本框,则第二个将自动从DB更新,减去第3个和第二个以填充第1个文本框。

    <td>Sending Amount</td>
    <td><input class="txt" type="text" name="txt" id = "sending"/></td>


    <td>Charge</td>
    <td><input class="txt" type="text" name="txt" id = "charge"/></td>


    <td>Total Amount</td>
    <td><input class="txt" type="text" name="txt" id = "totalAmount"/></td>
</tr>

 

    $(function () {
        var sending = $('input:text[id$=sending]').keyup(foo);
        var charge = $('input:text[id$=charge]').keyup(foo);            
        var totalAmount = $('input:text[id$=totalAmount]').keyup(foo);   

     function foo() {

            var value1 = sending.val();
            var value2 = charge.val();               
            var sum = add(value1, value2);
            $('input:text[id$=totalAmount]').val(sum);
    var sub = sub(value1, value2);
            $('input:text[id$=sending]').val(sub);
        }

        function add() {

            var sum = 0;
            for (var i = 0, j = arguments.length; i < j; i++) {
                if (IsNumeric(arguments[i])) {
                    sum += parseFloat(arguments[i]);
                }
            }
            return sum;
        }

  function sub() 
         {
            var sub= 0;
            ***//need to create subtract function***
            }
            return sub;
        }

        function IsNumeric(input) {
            return (input - 0) == input && input.length > 0;
        }
    });
</script>

添加工作精细减法未显示正确的值。

尝试下面的脚本,我认为它确实加减。

  <script type="text/javascript">
   $(function () {
    var sending = $('input:text[id$=sending]').keyup(foo);
    var charge = $('input:text[id$=charge]').keyup(foo);            
    var totalAmount = $('input:text[id$=totalAmount]').keyup(foo);   
 function foo() {
        var value1 = sending.val();
        var value2 = charge.val();   

        if(IsNumeric(value2)){
        if(IsNumeric(value1)){
        var value3 = parseFloat(value1) + parseFloat(value2);
        $('input:text[id$=totalAmount]').val(value3);
        }}

        value3 = totalAmount.val();
        if(IsNumeric(value3)){
        if(IsNumeric(value2)){
        value1 = parseFloat(value3) - parseFloat(value2);
        $('input:text[id$=sending]').val(value1);
        }}
    }
    function IsNumeric(input) {
        return (input - 0) == input && input.length > 0;
    }
});

1 个答案:

答案 0 :(得分:0)

如果有两个参数,你为什么需要一个函数add(),为什么不做sum = value1 + value2

同样,sub = value1 - value2应该可以解决问题。

如果你 使用sub功能,你可以做一些像

这样的事情
function sub(value1,value2) 
     {
        var sub= value1 - value2;
        return sub;
     }