我有一系列输入框,用户可以在其中输入要存储在数组中的数值。我想要添加这些值,并通过警报显示它们的总和。但是我无法确定如何通过点击我想要的按钮将这些值传递给数组。这是我的代码:
$('#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>
另外,我已经想出了如何动态添加输入,以便用户可以在总和中包含更多值,但我不确定这会如何影响代码。这还不够吗?
答案 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();
});
});