我开始使用这个解决方案,但我似乎无法让它工作
jQuery calculate sum of values in all text fields
以下是我的html
的示例<table>
<tbody>
<tr id="tr_affiliation_15159">
<td class="right col_aff_amount">15.00</td>
</tr>
<tr id="tr_affiliation_15189">
<td class="right col_aff_amount">15.00</td>
</tr>
</tbody>
<tfoot>
<tr>
<td class="total"></td>
</tr>
</tfoot>
</table>
这是我的javascript函数
function removeRow(id) {
$("#tr_affiliation_" + id).fadeOut("slow", function() {
$("#tr_affiliation_" + id).remove();
// recalc total
var total = 0;
$('.col_aff_amount').each(function() {
// i have tried .text(), and .html() as well as .val() but it doesn't seem to make any difference
var val = parseFloat($(this).val());
console.log(val);
total += val;
});
$("td.total").html(parseFloat(total).toFixed(2));
}
我的控制台日志只显示一长串的NaN,为什么不能提取数字?
答案 0 :(得分:2)
你应该对输入和textarea等表单元素之外的元素使用text()
,同样在计算时,在计算之前用整数值定义变量val
:
$(document).ready(function(){
// ...
var val = 0;
val = parseInt($(this).text(), 10);
// ...
})