计算使用AJAX生成的输入类型的总和

时间:2013-05-28 10:46:42

标签: javascript jquery ajax html5

我的这些输入字段具有相同的id,name。根据用户选择,使用ajax代码生成这些输入。我想使用jquery在total_amount字段中完成这些输入字段(p_amount)的总和。

<input type="text" id="p_amount" name="p_amount[]" placeholder="Enter Amount ">
<input type="text" id="p_amount" name="p_amount[]" placeholder="Enter Amount ">

<input type="text" id="p_amount" name="p_amount[]" placeholder="Enter Amount ">
<input type="text" id="p_amount" name="p_amount[]" placeholder="Enter Amount ">
<input type="text" id="p_amount" name="p_amount[]" placeholder="Enter Amount ">

<input type="text" id="total_amount" name="total_amount"  value="" placeholder="Total Amount">

我正在使用以下js代码,但它只返回在第一个文本字段中输入的数字总和。我想要所有id与p_amount的总和。请帮帮我。

<script type="text/javascript">
$('#total_amount').click(function() {
    var p_amount=$("#p_amount").val();
    var total = 0;
    for (var i = 0; i < p_amount.length; i++) {
        total += p_amount[i] << 0;
    }
</script>

2 个答案:

答案 0 :(得分:0)

问题是您使用的字段的id必须是不同的。您应该使用class属性来注释多个元素。

然后你可以使用JQuery获取它们并使用.each()迭代它们。

您可以在此处找到更多信息和示例: JQuery .each()

答案 1 :(得分:0)

试试这个,

var total=0;
$('#total_amount').click(function() {
    $("input[name='p_amount[]'").each(function(){
        total+=parseInt($(this).val());
    });
});
alert(total);