将输入框中的值存储在数组中以计算总和

时间:2016-01-06 03:26:41

标签: javascript jquery arrays parsing input

我有一系列输入框,用户可以在其中输入要存储在数组中的数值。我想要添加这些值,并通过警报显示它们的总和。但是我无法确定如何通过点击我想要的按钮将这些值传递给数组。这是我的代码:

$('#check').click(function() {
    var arr = [];
  getSum = function() {
    for ( i = 0; i < 100; i++){
    arr[i] =
    $('input:number').map(function(){
        return this.value;
    });
    }
    var sum = 0;
    var n = arr.length;
for(var i = 0; i < n ; i++) {
sum += parseInt(arr[i]);

}
alert(sum);
}
 getSum();
});

使用HTML标记:

<input type="number" id="field1" />
<input type="number" id="field2" />
<input type="number" id="field3" />
<button type="button" id="check">Calc</button>

另外,我已经想出了如何动态添加输入,以便用户可以在总和中包含更多值,但我不确定这会如何影响代码。这还不够吗?

2 个答案:

答案 0 :(得分:4)

我缩短了你的代码。 input[type=number]是您正在尝试执行的操作的正确选择器,它将查找所有新的动态创建的输入,其类型编号。

$('#check').click(function() {
    var sum = 0;
    $('input[type=number]').each(function(i, input) {
        sum += Number(input.value);
    });
    alert(sum);
});

答案 1 :(得分:1)

 var arr = [], sum = 0;

 $("#check").click(function() {
   $("input[type=number]").each(function() {
      arr.push($(this).val());
      sum += $(this).val();
   });
});