jQuery将字段的所有值相加并添加到某个类中

时间:2011-07-07 15:43:31

标签: javascript jquery math

我有几个<input>元素,如下所示:

<input id="hosts" name="250" class="hostselector" type="number" min="0" max="999" value="0" />

我想将值(用户输入的值)与我在名称中存储的值相乘。

现在页面上有几个元素,都是class="hostselector"。我想得到所有值的总和,所以在某种意义上说:

(value * name) + (value * name) + .... every single element with that class.

我如何使用jquery做到这一点?

3 个答案:

答案 0 :(得分:4)

var total = 0;
$(".hostselector").each(function() {
    total+= parseInt(this.value, 10) * parseInt($(this).attr("name"), 10);
});

循环遍历具有类.hostselector的所有元素,将当前值乘以name属性的值(这是一个字符串,因此使用parseInt),并维护所有元素的总计。

这是example fiddle显示它正常工作(只需点击按钮即可查看最终结果)。

答案 1 :(得分:1)

它应该是这样的:

var total = 0;
$('.hostselector').each(function() {
    total += parseInt($(this).val(), 10) * parseInt($(this).attr('name'), 10);
})

“total”var包含您要查找的数字。

parseInt部分或多或少是可选的,如果没有它,javascript仍然会返回正确的结果,但是因为.val()和.attr()返回字符串,所以它是正确的。

答案 2 :(得分:0)

试试这个:

    var sum = 0;   
    $.each('.hostselector', function(i ,item){
    sum +=  $(item).val();
    // or sum += $(item).attr("Your_Attribute_here");
    });
    alert(sum);