将HTML文本框预先填充的数字更改为2位小数

时间:2015-08-30 10:29:28

标签: javascript html html5

我有一个带有文本框的网页,该文本框会查找一个值并使用此编号预先填充文本框。

该数字应该看起来像货币格式 - 例如7.50而不是7.5

有没有办法确保自动输入的值总是更改为2位小数?

这是我的代码:

<input type="number" step="0.01" name="bid_price" id="bid_price" class="text" value="{$auction->getMinBidPrice()}" {if !$logged || $auction->getTimeToStart() > 0}disabled="disabled"{/if}/

我是一个真正的初学者,所以一段精确的代码就太棒了。

1 个答案:

答案 0 :(得分:0)

您可以使用以下函数 - 请注意toFixed(2)不会舍入:

var input = $(".text");
input.bind('keyup mouseup', function (event) {
    if(event.keyCode !== 8){
       checkInput();
    }
});
input.change(function(){
    checkInput();
});
function checkInput(){
    input.val(parseFloat(input.val()).toFixed(2));  
}

这是小提琴:https://jsfiddle.net/h3fw2q7r/8/

如果要将脚本包含在html页面中,请使用标记:

<script>
$(document).ready(function(){
    var input = $(".text");
    input.bind('keyup mouseup', function (event) {
        if(event.keyCode !== 8){
          checkInput();
        }
    });
    input.change(function(){
        checkInput();
    });
    function checkInput(){
        input.val(parseFloat(input.val()).toFixed(2));  
    }
    checkInput();
});
</script>

如果您想输入多个数字的数字,请将keyup / mouseup事件留空:https://jsfiddle.net/h3fw2q7r/9/