用jQuery输入数组和

Dor*_*gen 4 html jquery

你好我有数组名称和类的未知数量的输入

<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">
Run Code Online (Sandbox Code Playgroud)

问题是如何将我尝试的那些字段的所有值加起来使用.each()和getElementByClassName,但这不会起作用

Lix*_*Lix 7

迭代匹配的元素并将它们的值相加:

var total = 0;
$( ".sum" ).each( function(){
  total += parseFloat( $( this ).val() ) || 0;
});
Run Code Online (Sandbox Code Playgroud)

我正在使用$.each()迭代匹配.sum该类的所有项目,然后使用提取value属性.val().一旦我们拥有了这个价值,我们就需要确保它是数字的,所以我已经习惯了parseFloat().如果parseFloat()返回假值,0将使用.

参考文献:

  • parseInt(31.12)..将是31,但它的31.12 ..? (2认同)
  • +1解释和答案... :) (2认同)

Sri*_*kat 6

我尝试使用每个,它对我有用.检查你是否使用了parseFloat ...
如果你有'sum'作为一个类来定义所有必须计算的元素,下面的代码应该工作....

$(document).ready(function () {
    var total = 0;
    $('.sum').each(function (index, element) {
        total = total + parseFloat($(element).val());
    });
    alert(total);
});
Run Code Online (Sandbox Code Playgroud)