SLM*_*SLM 13 javascript jquery
我正在尝试使用以下技术格式化用户输入值,但我在Fire Bug控制台上收到以下错误
$(this).val().toFixed不是函数
$(".amount-text").bind('change',function () {
$(this).val(($(this).val()).toFixed(2));
});
Run Code Online (Sandbox Code Playgroud)
有人可以帮我吗?
Nic*_*ver 29
.val()返回一个字符串,用于.toFixed()您需要先将其解析为数字的数字,如下所示:
$(".amount-text").bind('change',function () {
$(this).val(parseFloat($(this).val()).toFixed(2));
});
Run Code Online (Sandbox Code Playgroud)
或者使用jQuery 1.4+,有点清洁,至少对我来说使用一个函数.val():
$(".amount-text").bind('change',function () {
$(this).val(function(i, v) { return parseFloat(v).toFixed(2); });
});
Run Code Online (Sandbox Code Playgroud)
toFixed 仅适用于数字,首先将值解析为数字:
$(this).val(parseFloat($(this).val()).toFixed(2));
Run Code Online (Sandbox Code Playgroud)