限制用户输入最多两位小数的值,即10.56
。
<input class="number" type="text" value="" />
<input type="text" value="44" />
$('.number').on('keypress',function (event) {
if ((event.which != 46 || $(this).val().indexOf('.') != -1) && (event.which < 48 || event.which > 57)) {
event.preventDefault();
}
var input = $(this).val();
if ((input.indexOf('.') != -1) && (input.substring(input.indexOf('.')).length > 2)) {
event.preventDefault();
}
});
fiddle有效。但是,如果用户按delte/tab/backspace
,则不会发生任何事情。
如何允许用户edit/delete
输入值或使用tab
按钮移至下一个输入框?
答案参考:Link
答案 0 :(得分:1)
您可以转义相关的键盘键。请参阅AutoGenerateColumns
,了解转义的密钥。
查看现场演示:
$('.number').on('keypress',function (event) {
// Add this condition to escape arrow/tab/delete/... and many others keys
if(event.which <= 46) {
return true;
}
if ((event.which != 46 || $(this).val().indexOf('.') != -1) && (event.which < 48 || event.which > 57)) {
event.preventDefault();
}
var input = $(this).val();
if ((input.indexOf('.') != -1) && (input.substring(input.indexOf('.')).length > 2)) {
event.preventDefault();
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="number" type="text" value="" />
<input type="text" value="44" />
&#13;
更新:
在你的小提琴中添加一个if confition:
var acceptedKeys = [9, 37, 39, 46, 8];
if(acceptedKeys.indexOf(charCode) > -1) {
return true;
}
使用此代码,您接受以下密钥: