2014-03-19 66 views
0

我想強制用戶輸入一個輸入值,它們在「。」後面有最多2位數字。例如:24.14或5.7或0.5或8,而不是4.321或5.133121。我怎樣才能做到這一點 ?如何限制用戶在輸入值中只寫入4位數字?

+0

可能的重複[強制輸入爲@ Html.Textbox中的十進制](http://stackoverflow.com/questions/16646219/force-input-to-be-decimal- in-html-textbox) –

+0

最好在主持人關閉前修改你的問題。 – Fury

回答

3

我找到了解決方案。你可以使用JQuery中的api:click here

+0

有趣的插件 – Fury

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();  
}); 

Resource

0

您可以使用.toFixed()方法的其中一個數字轉換成字符串,保持指定的小數位數。

樣品

var myNum = document.getElementById("textboxID").value; 
myNum = parseFloat(myNum).toFixed(2); //I fixed my precision to 2 digits after "." 
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; 
    } 
}); 
相關問題