2

我正在尝试使用 jquery 来获取 div 的所有子元素的值。

<div class='parent'>
    <input type='text' value='1' class='child' />
    <input type='text' value='2' class='child' />
    <input type='text' value='3' class='child' />
    <input type='text' value='4' class='child' />
</div>

子输入是使用 db 中的 php 生成的。他们的数量各不相同。

我试图得到类似的东西:

variable = (child1_value + child2_value + child3_value + child4_value + ... + "childX_value");

我怎样才能使这项工作适用于任何数量的孩子?

4

5 回答 5

5

您可以使用每个...

var total = 0;

$(".child").each(function() {
    total += parseInt($(this).val());
});

或类似的

于 2012-12-13T09:52:15.623 回答
3

尝试这个,

$(document).ready(function(){
    var array = [];
    $('.child').each(function(){
       array.push($(this).val()); // store in an array for reuse
    });
    var total = 0;
    for (var i = 0; i < array.length; i++) {
        total += parseInt(array[i]); // sum up values in the array
    }
    alert(total);
});
于 2012-12-13T09:55:37.593 回答
3
var value = 0;
$('.parent input').each(function() {
  value += parseInt($(this).val());
});
于 2012-12-13T09:52:36.663 回答
1

添加这些值。

现场演示

sum = 0;
$('.parent :input').each(function(){     
      sum+= parseFloat($(this).val());
})
alert(sum);
于 2012-12-13T09:50:41.717 回答
0
var result = 0;
$("input").each(function(index,value){ 
  result += parseFloat($(this).val());
});

Demo: http://jsfiddle.net/JmsAb/1/
于 2012-12-13T09:54:53.503 回答