I have for example:
<table>
<tr class="main"><td>test | sum:<span class="sum_main"> </span></td></tr>
<tr class="sub"><td>test | sum <span class="sum_sub">2</span></td></tr>
<tr class="sub"><td>test | sum <span class="sum_sub">5</span></td></tr>
<tr class="sub"><td>test | sum <span class="sum_sub">6</span></td></tr>
<tr class="main"><td>test | sum:<span class="sum_main"> </span></td></tr>
<tr class="sub"><td>test | sum <span class="sum_sub">2</span></td></tr>
<tr class="sub"><td>test | sum <span class="sum_sub">5</span></td></tr>
<tr class="main"><td>test | sum:<span class="sum_main"> </span></td></tr>
<tr class="sub"><td>test | sum <span class="sum_sub">5</span></td></tr>
<tr class="sub"><td>test | sum <span class="sum_sub">5</span></td></tr>
<tr class="sub"><td>test | sum <span class="sum_sub">2</span></td></tr>
<tr class="sub"><td>test | sum <span class="sum_sub">8</span></td></tr>
</table>
table td {
border: solid 1px black;
padding: 4px;
}
.main {
background-color: #cc99ff;
}
$(".sum_main").val( $(".sum_main").val() + $(".sum_main").val() + $(".sum_main").val()); // ???????
LIVE EXAMPLE: http://jsfiddle.net/dZLg6/
How can sum from class sum_sub and show this in sum_main with jQuery and function for example each?
This example should show me:
<table>
<tr class="main"><td>test | sum:<span class="sum_main">13</span></td></tr>
<tr class="sub"><td>test | sum <span class="sum_sub">2</span></td></tr>
<tr class="sub"><td>test | sum <span class="sum_sub">5</span></td></tr>
<tr class="sub"><td>test | sum <span class="sum_sub">6</span></td></tr>
<tr class="main"><td>test | sum:<span class="sum_main">7</span></td></tr>
<tr class="sub"><td>test | sum <span class="sum_sub">2</span></td></tr>
<tr class="sub"><td>test | sum <span class="sum_sub">5</span></td></tr>
<tr class="main"><td>test | sum:<span class="sum_main">20</span></td></tr>
<tr class="sub"><td>test | sum <span class="sum_sub">5</span></td></tr>
<tr class="sub"><td>test | sum <span class="sum_sub">5</span></td></tr>
<tr class="sub"><td>test | sum <span class="sum_sub">2</span></td></tr>
<tr class="sub"><td>test | sum <span class="sum_sub">8</span></td></tr>
</table>
You need to iterate over all the
.sum_mainelements. Inside the loop you can get the text from each of the following.sum_subelements (until the next.mainrow) and maintain a running total:Here’s a working example.
Update
As noted in the comments, it may be worth checking that
parseIntactually returns a number. If it doesn’t, it will returnNaN, and adding that to our total will make the totalNaN. We can do this with theisNaNfunction. Something along these lines: