我试图将输入限制为小数点前最多两个整数,最后一个最大值。 (例如00.0)我一直在尝试使用.numeric进行此工作,可以找到here。
我的电话看起来像这样。
$(".setOneNumDec").numeric({
negative: false,
decimal: ".",
scale: 3,
decimalPlaces: 1
});
目前,一个小数位的限制正在起作用,但插件仍然允许小数点前的任意数量的整数。
答案 0 :(得分:2)
您使用的插件让我们说过时了。它已经2年了(或者之后没有任何变化),而现在任何现代浏览器(甚至IE> 10)都可以处理输入元素上的number
类型。那么为什么要使用你不需要的插件呢。
var element = document.querySelector('input[type="number"]');
element.addEventListener("keyup", function(event){
var currentChar = parseInt(String.fromCharCode(event.keyCode), 10);
// the String.fromCharCode... is a special trick
// which is nicely explained here:
// http://stackoverflow.com/a/25060122/2008111
if(!isNaN(currentChar)) {
var nextValue = this.value + currentChar;
// check if next value is bigger then 100 the reset to 99.9
if(parseInt(nextValue, 10) > 100) {
return this.value = 99.9;
}
// decimal check here. if more then 2 decimal places remove the last one
if((this.value.split('.')[1] || []).length > 1) {
return this.value = this.value.slice(0, -1);
}
}
return false;
});

<input type="number" min="0.1" max="99.9" step="0.1" />
&#13;
同样在测试时:即使在输入字段内使用箭头,看看它有多好用。