我想强制用户写入输入值,在“。”之后最多有两位数字。 例如:24.14或5.7或0.5或8而不是4.321或5.133121。我怎么能这样做?
答案 0 :(得分:3)
我找到了解决方案。你可以使用Jquery的这个api:click here
答案 1 :(得分:0)
你不能强迫任何东西到任何身体,但你可以在用户输入后将其格式化为十进制
<input type="text" id="input_id">
//format decimal value while typing
(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 );
$( function() {
$("#input_id").currencyFormat();
});
答案 2 :(得分:0)
您可以使用.toFixed()方法将数字转换为字符串,并保留指定的小数位数。
<强>样品强>:
var myNum = document.getElementById("textboxID").value;
myNum = parseFloat(myNum).toFixed(2); //I fixed my precision to 2 digits after "."
答案 3 :(得分:0)
这可能适合您: 这是文本输入:
<input type="text" id="tb1" >
JavaScript / JQuery代码:
$('#tb1').on('keydown',function(e){
var textValue=document.getElementById('tb1').value;
if(textValue.indexOf('.')>=0 && e.which!=8 && e.which!=37 && e.which!=39 && e.which!=46)
{
textValue=textValue.split('.')[1];
if(textValue.length>=2)
return false;
}
});