两个数字相加,怎么会得NaN?

darzui 2003-11-18 04:03:04
//tb.value初始为0
function SetTotal(tb)
{
var total = parseFloat(tb.value);
var tbl = document.getElementById("DataGrid1");
var n = tbl.rows.length;
for (var i=0; i < n; i++)
{
var ck = tbl.rows[i].cells[0].firstChild;
if(ck.checked)
{
alert(parseFloat(tbl.rows[i].cells[6].innerHTML));//这里显示的是数字
total += parseFloat(tbl.rows[i].cells[6].innerHTML);
alert(total);//这里显示的是NaN
}
else
{
total -= parseFloat(tbl.rows[i].cells[6].innerHTML);
}
}
alert(total);
if(total >= 0)
tb.value = total;
else
tb.value = 0;
}
...全文
1157 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Apollo47 2003-11-18
  • 打赏
  • 举报
回复
用 innerText 替换 innerHTML。
darzui 2003-11-18
  • 打赏
  • 举报
回复
哎,抱歉,找到问题了,才注意到表的第一行不是数字,循环的时候,先遍历到第一行,当然就是nan了
meizz 2003-11-18
  • 打赏
  • 举报
回复
在用 parseFloat 之前用 isNaN 函数判断一下内容是不是数字 isNaN(tb.value)
bencalie 2003-11-18
  • 打赏
  • 举报
回复
var total = parseFloat(tb.value); //这里赋值会不会有问题?

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧