1

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

2) 但是,如果选择了第三个文本框,那么第二个会自动从 DB 中更新,减去第三个和第二个以填充第一个文本框。

    <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>

加法工作正常减法没有显示正确的值。

尝试了下面的脚本,我认为它确实 add 和 sub 。

  <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;
    }
});

4

1 回答 1

0

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

同样,sub = value1 - value2应该做的伎俩。

如果你必须使用sub函数,你可以做类似的事情

function sub(value1,value2) 
     {
        var sub= value1 - value2;
        return sub;
     }
于 2012-11-01T12:11:44.797 回答