我正在使用 jQuery Spinner,设置了最小 (0) 和最大 (500) 值。如何防止用户在输入框中直接输入非数值(或0-500范围外的值)?最小值和最大值在用户使用微调按钮时有效,但在输入表单中输入内容时无效。
最佳答案
您可以使用如下技术强制输入数字:
var MIN = 0;
var MAX = 500;
$('#foo').on('keyup', function(e) {
var v = parseInt($(this).val());
if (isNaN(v)) {
return $(this).val(MIN);
}
if ($(this).val() < MIN) {
$(this).val(MIN);
} else if ($(this).val() > MAX) {
$(this).val(MAX);
} else {
$(this).val(v);
}
});
(参见示例:http://jsfiddle.net/foxbunny/ustFf/)
但我不推荐。这不是预期的文本框行为,而且至少会使一些用户感到困惑。因此,如果值不在预期范围内,最好只显示警告。
关于javascript - jQuery 微调器 : Non-numerical values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14206291/