您好我的数组名称和类
的输入数量未知<input type="hidden" name="hidden[1]" class="sum" value="31">
<input type="hidden" name="hidden[2]" class="sum" value="21">
<input type="hidden" name="hidden[3]" class="sum" value="321">
<input type="hidden" name="hidden[4]" class="sum" value="-31">
<input type="hidden" name="hidden[5]" class="sum" value="31.12">
<input type="hidden" name="hidden[6]" class="sum" value="0">
问题是如何将我尝试的那些字段的所有值加起来使用.each()和getElementByClassName,但这不会起作用
答案 0 :(得分:7)
迭代匹配的元素并将它们的值加在一起:
var total = 0;
$( ".sum" ).each( function(){
total += parseFloat( $( this ).val() ) || 0;
});
我正在使用$.each()
来迭代与.sum
类匹配的所有项目,然后使用value
提取.val()
属性。一旦我们有了这个值,我们需要确保它是数字的,所以我使用了parseFloat()
。如果parseFloat()
返回虚假值,则会使用0
。
参考文献:
答案 1 :(得分:6)
我尝试使用它们,它对我有用。检查您是否使用了 parseFloat ...
如果你将'sum'作为一个类来定义必须计算的所有元素,那么下面的代码应该可以工作....
$(document).ready(function () {
var total = 0;
$('.sum').each(function (index, element) {
total = total + parseFloat($(element).val());
});
alert(total);
});
答案 2 :(得分:3)
var totalSum = 0;
$('.sum').each(function () {
totalSum += parseFloat(this.value);
});
答案 3 :(得分:2)
你可以这样做
var total = 0;
$('.sum').each(function() {
total += parseFloat($(this).val());
});
答案 4 :(得分:0)
使用each jQuery函数迭代input.sum
元素就足够了。
var sum = 0;
$('input.sum').each(function() {
var value = +this.value || 0;
sum += value;
});