我可以发誓这段代码工作得比较早,但是现在它没有,也没有改变,所以:
我有1个5个盒子,里面有货币值(例如10.00或空白)。计算总数,然后将其显示在“总计”框中,如下所示:
$(document).on("blur", '.amountbox', function (e) {
var amount1 = $('[id$=boxAmount1]').val() != '' ? parseFloat($('[id$=boxAmount1]').val()) : 0;
var amount2 = $('[id$=boxAmount2]').val() != '' ? parseFloat($('[id$=boxAmount2]').val()) : 0;
var amount3 = $('[id$=boxAmount3]').val() != '' ? parseFloat($('[id$=boxAmount3]').val()) : 0;
var amount4 = $('[id$=boxAmount4]').val() != '' ? parseFloat($('[id$=boxAmount4]').val()) : 0;
var amount5 = $('[id$=boxAmount5]').val() != '' ? parseFloat($('[id$=boxAmount5]').val()) : 0;
var grandtotal = amount1 + amount2 + amount3 + amount4 + amount5;
$('[id$=boxGrandTotal]').val(parseFloat(grandtotal).toFixed(2));
});
如果我在第一个框中输入“50”,并且模糊(退出),它将变为“50.00”(应该如此)。但是“boxGrandTotal”显示“NaN”为什么?
注意:五个“boxAmount”输入文本分配/附加了CSS类“amountbox”。
事实证明,box3的ID附加了一些东西,而且它没有被浮起,因此导致整个混乱。我通过警告每一个值找到了,并且看到box3是NaN。
答案 0 :(得分:1)
$('[id$=boxGrandTotal]').val(parseFloat(grandtotal+'').toFixed(2));
试试这个。
还要确保检查空字符串''
的字段不为空