【发布时间】:2017-05-01 05:19:25
【问题描述】:
我已经动态创建了一个table。页面加载时有一列是空的,但是当我选择下拉菜单的数量(其他列)和默认价格值(其他列)时,它会填充值。我想使用 jQuery 添加此过程创建的总值并显示总值。
有没有人知道我该怎么做?我尝试了很多,但没有出现任何结果。
我试试这个:
$(document).each("[id^=total]", function(event){
var num = this.id.slice(5);
var sum = 0;
var value = $('#total'+num).text();
sum += parseFloat(this.value);
$('#sum').text(sum);
});
HTML(显示结果的地方):
<tr>
<th colspan="6" style="text-align:right">Total:</th>
<th colspan="2" style="text-align:center"><span id="sum"></span></th>
</tr>
HTML(id='qua2' 是从 1 到 20 的下拉菜单):
<tr>
<td><center><selectclass='choose'id='qua2'></select></center></td>
<td><center><spanid='yprice2'>101.10</span></center></td>
<td><center><spanid='total2'></span></center></td>
</tr>
注意:
total 列是在创建表后创建的。我选择下拉列表的值并进行此过程(下拉列表的值 * 价格)。结果显示在列中。
已更新(我使用此脚本,但 id='sum' 中的结果是 NaN):
$(document).on('change', "[id^=qua]", function(event){
var num = this.id.slice(3);
var sum = 0;
var value = $("#qua"+num).val();
var yprc = $("#yprice"+num).text();
var amount = value * yprc;
amount = amount.toFixed(2);
var $sum = $("#sum");
var $total = $("#total"+num);
$total.html(amount);
$("[id^=total]").each(function(){
sum += parseFloat($(this).text());
});
$sum.text(sum);
});
【问题讨论】:
-
请您发布一些示例 html。
-
$('#total'+num).val();试过了吗?
-
是的,但还是一样。
-
我更新了我的问题!
标签: javascript jquery html datatable