这就是我现在所拥有的:
$("#number").val(parseFloat($("#number").val()).toFixed(2));
对我来说它看起来很乱。我认为我没有正确地链接函数。我必须为每个文本框调用它吗,或者我可以创建一个单独的函数?
发布于 2009-01-25 20:55:26
如果您正在对多个字段执行此操作,或者经常执行此操作,那么也许插件就是答案。
下面是一个jQuery插件的开始,它将一个字段的值格式化为两个小数位。
由字段的onchange事件触发。你可能想要一些不同的东西。
<script type="text/javascript">
// mini jQuery plugin that formats to two decimal places
(function($) {
$.fn.currencyFormat = function() {
this.each( function( i ) {
$(this).change( function( e ){
if( isNaN( parseFloat( this.value ) ) ) return;
this.value = parseFloat(this.value).toFixed(2);
});
});
return this; //for chaining
}
})( jQuery );
// apply the currencyFormat behaviour to elements with 'currency' as their class
$( function() {
$('.currency').currencyFormat();
});
</script>
<input type="text" name="one" class="currency"><br>
<input type="text" name="two" class="currency">
发布于 2009-01-25 16:59:48
也许像这样,如果你愿意,你可以选择多个元素?
$("#number").each(function(){
$(this).val(parseFloat($(this).val()).toFixed(2));
});
发布于 2012-11-28 00:33:08
我们将Meouw函数修改为与keyup一起使用,因为当您使用输入时,它会更有帮助。
请检查以下内容:
你好!,@heridev和我用jQuery创建了一个小函数。
您可以尝试下一步:
HTML
<input type="text" name="one" class="two-digits"><br>
<input type="text" name="two" class="two-digits">
jQuery
// apply the two-digits behaviour to elements with 'two-digits' as their class
$( function() {
$('.two-digits').keyup(function(){
if($(this).val().indexOf('.')!=-1){
if($(this).val().split(".")[1].length > 2){
if( isNaN( parseFloat( this.value ) ) ) return;
this.value = parseFloat(this.value).toFixed(2);
}
}
return this; //for chaining
});
});
在线演示:
(@heridev,@vicmaster)
https://stackoverflow.com/questions/477892
复制相似问题