0

这有效:

var x = parseFloat($(this).val());
$(this).val(x.toFixed(2));

而不是这个:

$(this).val(parseFloat($(this).val())).toFixed(2);

我得到“toFixed 不是函数”。

我不明白为什么!

4

2 回答 2

1

那是因为您正在应用toFixedjQuery 对象而不是值。只需将其移到一个括号内即可。

$(this).val(parseFloat($(this).val()).toFixed(2));

不过,将代码拆分为更简单、更易于理解的语法始终是一个好主意。使用代码缩小器来处理构建大小。

于 2018-08-10T15:41:08.797 回答
1

另一种写这个的方法是val(function)

$(this).val(function(_, currVal){
    return parseFloat(currVal).toFixed(2);
});

您在第二个版本中的问题是链接不正确

于 2018-08-10T15:47:44.870 回答