jquery和复选框的值和相邻td中的位置

时间:2010-08-19 23:50:02

标签: jquery checkbox

我怎么能在jQuery中说 -

将每个div.checkbox中所有复选框的“值”相加并将求和值放到下一个?

<td>
   <div class=checkboxes>
      <LABEL style="white-space: nowrap;">
      <INPUT type="checkbox" name="user_registered" class="checkbox1" value="14"    >
      </LABEL><BR>                  
      <LABEL style="white-space: nowrap;">
      <INPUT type="checkbox" name="user_registered" class="checkbox2"  value="12"   >
   </div>
</td>
<td>
   <td> </td>


<td>
   <div class=checkboxes>
      <LABEL style="white-space: nowrap;">
      <INPUT type="checkbox" name="user_registered" class="checkbox1" value="24"    >
      </LABEL><BR>                  
      <LABEL style="white-space: nowrap;">
      <INPUT type="checkbox" name="user_registered" class="checkbox2"  value="22"   >
   </div>
</td>
<td>
   <td> </td>

2 个答案:

答案 0 :(得分:2)

对于每个div,将(checked?)复选框的值相加,然后找到下一个TD(父TD的下一个兄弟),并使用total作为您找到的TD的内容。

$('div.checkboxes').each( function() {
   var total = 0;
   $(this).find('input:checkbox:checked').each( function() {
       total += parseInt( $(this).val() );
   });
   $(this).closest('td').next('td').html(total);
});

答案 1 :(得分:2)

你可以这样做:

​$("div.checkboxes").each(function() {
    var total = 0;
    $(this).find(":checkbox").each(​​​​​​​​​​​​​​​​function() {
        total += parseInt(this.value, 10);
    });
    $(this).parent().next().text(total);
});

You can give it a try here,如果您只想对已检查的值求和,则需要将.find(":checkbox")更改为.find(":checkbox:checked")