我有4-5个用PHP动态创建的表
<table class="table11">
<tbody>
<tr>
<td>Name</td>
<td class="quantity">2</td>
<td class="price">20</td>
<td class="sum_one">40</td>
</tr>
<tr>
<td>Name</td>
<td class="quantity">1</td>
<td class="price">30</td>
<td class="sum_one">30</td>
</tr>
<tr>
<td></td>
<td class="total_quantity">3</td>
<td></td>
<td class="total_sum">70</td>
</tr>
</tbody>
</table>
<table class="table11">
<tbody>
<tr>
<td>Name</td>
<td class="quantity">1</td>
<td class="price">10</td>
<td class="sum_one">10</td>
</tr>
<tr>
<td>Name</td>
<td class="quantity">2</td>
<td class="price">10</td>
<td class="sum_one">20</td>
</tr>
<tr>
<td></td>
<td class="total_quantity">3</td>
<td></td>
<td class="total_sum">30</td>
</tr>
</tbody>
</table>
我想在表中汇总所有价格并以total_sum显示。
我试过这个:
var sum = 0;
var quantity = 0;
var sum1 = 0;
$('.price').each(function() {
var price = $(this);
var q = price.closest('tr').find('.quantity').html();
sum += parseInt(price.html()) * parseInt(q);
quantity += parseInt(q);
sum1 = 0;
sum1 += parseInt(price.html()) * parseInt(q);
price.closest('tr').find('.sum_one').html(sum1);
});
console.log(sum);
$('table.table11 tr:last-child').find('.total_sum').html(sum);
哪个不起作用,在控制台中记录总和,这是正确的,但在表中它不会改变。
如何使用相关的价格总和更新每个表中的总和?
当我动态删除行时,我希望总计相应地更新。
https://jsfiddle.net/qfjes1zj/ ....我将逐桌总结,而不是完整的总和。每张桌子总和。
答案 0 :(得分:1)
为什么td称为 total_sum
<td class="total_sum">30</td>
然后您更新总价?
$('table.table11 tr:last-child').find('.total_price').html(sum);
应该只是
$('.total_sum').html(sum);
答案 1 :(得分:0)
尝试:
$(document).ready( function(){
var sum = 0;
var quantity = 0;
var sum1 = 0;
$('.price').each(function() {
var price = $(this);
var q = price.closest('tr').find('.quantity').html();
sum += parseInt(price.html()) * parseInt(q);
quantity += parseInt(q);
sum1 = 0;
sum1 += parseInt(price.html()) * parseInt(q);
price.closest('tr').find('.sum_id').html(sum1);
});
$('table.table11 tr:last-child').find('.total_price').html(sum);
});
计算应在加载页面后执行