【发布时间】:2015-08-28 00:24:05
【问题描述】:
运行此代码时出现 NaN 错误。我在表格中有一个单元格,我从中获取数据。
我正在尝试将列中的值相加。现在表格有两行,第一行有 28.55,第二行有 30.00。
当第一个警报显示为 28.55 时,第二个警报显示为 30.0。当第三个警报显示总和为 NaN 时。如何进行转换以便正确求和?提前致谢。
function changeBalance() {
var sum = 0;
$("td.pmt").each(function() {
payment = $(this);
alert(payment.html());
sum += parseFloat(payment.val());
});
alert(sum);
document.getElementById("total").innerHTML = sum;
}
【问题讨论】:
-
@Phil 所以基本上,
sum += parseFloat(payment.html())代替。不过,为什么会有这么多反对票? -
@gengkev 我可能会选择
.text()而不是.html(),只是为了安全起见。我不知道为什么这么多反对票,也许是缺乏研究努力? -
@ja11946 问题是您正试图对不是数字的事物进行数学运算。您需要先将其转换/转换为数字,例如genkev 展示了什么
-
@CrayonViolent OP 已经将其投射为一个数字。只是
.val()会为非表单控制元素返回一个空字符串
标签: javascript jquery