声明:我有一个输入字段。用户只输入其中的数字。允许的最大值为500。 因此,如果用户尝试键入大于500的值,则他应该无法键入值。
例如。 1.如果用户试图输入600或700,则会出现最大值为5。 2.数字和单位地点如果用户输入5作为第一个数字(数百个地方),则最大值将为0
PS:用户仅输入数字的处理已使用以下代码段完成
function isNumberKey(evt){
var charCode = (evt.which) ? evt.which : event.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
};
修复问题:
function isNumberKey(evt){
var charCode = (evt.which) ? evt.which : event.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
if(!(charCode > 31 && (charCode < 48 || charCode > 57)) && charCode != 8){
if($(evt.currentTarget).value.length == 3){
return false;
}
if($(evt.currentTarget).value.length == 2){
if($(evt.currentTarget).value.substring(0,1) > 5){
return false;
}else if($(evt.currentTarget).value.substring(0,1) == 5 && $(evt.currentTarget).value.substring(1,2) > 0 ){
return false;
}
}
}
return true;
};
答案 0 :(得分:2)
据我所知,你可以使用onchange而不是keypress:
$('#textbox').change( function(){
elem = $(this);
if(parseInt(elem.val()) > 500)
elem.val('500');
});