使用JQuery,我从复选框值填充数组。然后,我创建了循环来遍历数组,将复选框的值解析为整数,然后将它们相加并赋值给一个变量“total”。当我运行这个时,我得到的不是一个数字,我怀疑某个循环有什么问题。有人能告诉我我在这里做错了什么。如果我的编码不够清晰,请原谅我,我刚刚从JS开始。parseInt数组和总和问题
// create array and push selected checkbox values to it
var allVals = [];
$('input:checkbox[name=brand]:checked').each(function() {
allVals.push($(this).val());
//allVals.map(number);
});
for (var i=0; i < allVals.length; i++) {
var total
allVals[i] = parseInt(allVals[i]);
total += allVals[i] << 0;
alert(total);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
注意,目前的答案是一半错了 - 你确实必须初始化'total'为零(否则'未定义+ number'会'NaN'),但你不*必须在循环之外重定位该变量,因为* Javascript没有循环范围*。 – 2014-10-17 16:20:14