jQuery - 添加.toFixed(1)时动态表计算中断

时间:2012-08-16 05:59:00

标签: javascript jquery

在我解决舍入问题的努力中,我打破了之前工作正常的总计的动态更新。

如果你看看这个JSFiddle:

http://jsfiddle.net/fmdataweb/73Jzc/1/

当您更改选择菜单并添加新行和数据时,您将看到动态中等和高更新的总计。如果您将选择从高级更改为中级,则会继续更新。

我更新了脚本以修复您在此JSFiddle中可以看到的总计中的舍入问题:

http://jsfiddle.net/73Jzc/2/

我所做的只是改变:

$('#textfield6').val(tot.moderate);
$('#textfield7').val( tot.high );

为:

$('#textfield6').val(tot.moderate.toFixed(1));
$('#textfield7').val( tot.high.toFixed(1) );

这似乎已经停止了动态总计的更新,我不知道为什么。

2 个答案:

答案 0 :(得分:1)

使用默认值为高级和中级定义tot

var tot = {high:0,moderate:0}; 

否则,如果未在任何列表中选择中等,您将收到错误

答案 1 :(得分:1)

在调用.toFixed()之前,您需要检查tot.moderate或tot.high是否存在。如果没有中等或高行,则会出现错误:

未捕获的TypeError:无法调用方法' toFixed'未定义的