带有onchange事件的数组文本框

时间:2011-12-19 15:03:41

标签: javascript jquery

<INPUT name="Qty[]" id="Qty[]" type="text" class="south" />
<INPUT name="Amount[]" id="Amount[]" type="text" class="south"/>
<INPUT name="TotalAmount[]" id="TotalAmount[]" type="text" class="south" disabled="disabled"/>

这里我的代码有问题,我需要计算乘以前两个文本框。并且结果将显示在最后一个中,我的意思是第三个文本框作为TotalAmount。你可以帮帮我吗?这里有三个文本框出现在单行中,带有添加按钮。当我再次提交用三个框创建的新添加按钮时。我需要在java脚本的jquery中完成它。请帮帮我们

2 个答案:

答案 0 :(得分:0)

首先,删除数组声明,不要将输入字段用作数组。它们是单一的价值观。

<INPUT name="Qty" id="Qty" type="text" class="south" />
<INPUT name="Amount" id="Amount" type="text" class="south"/>
<INPUT name="TotalAmount" id="TotalAmount" type="text" class="south" disabled="disabled"/>

和jquery。

$(document).ready(function(){
  qty = $("#Qty").val();
  amount = $("Amount").val();
  $("#Qty, #Amount").keyup(function(){
    $("#TotalAmount").val((qty)*(amount)); 

  });
});

答案 1 :(得分:0)

这是您的JavaScript:

$(document).ready(function () {        
    var $quantity = $('#Qty\\[\\]'),
        $amount = $('#Amount\\[\\]'),
        $total = $('#TotalAmount\\[\\]'),
        quantity,
        amount;   
    $($quantity.add($amount)).keyup(function () {
        quantity = Number($quantity.val().replace(/[^0-9,.]/g, ''));
        amount = Number($amount.val().replace(/[^0-9,.]/g, ''));

        $total.val(quantity * amount);
    });
});

更新更改以保持DOM ID不变,以防必须这样。对于@Ken Keenan提到的未提及的原因。