我有一个带有文本框的网页,该文本框会查找一个值并使用此编号预先填充文本框。
该数字应该看起来像货币格式 - 例如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}/
我是一个真正的初学者,所以一段精确的代码就太棒了。
答案 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/