javascript - jQuery 微调器 : Non-numerical values

标签 javascript jquery jquery-ui-spinner

我正在使用 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/

相关文章:

php - 获取双列表框中的选定值 PHP

javascript - 指定下一个的编号?

javascript - 使用工具提示进行 jQuery ASP 输入验证

javascript - jQuery on click slide toggle 在移动设备上工作,但在返回桌面时中断

javascript - CSS flex-grow 值不响应单击事件

javascript - 验证表单中的 jQuery-UI Spinner

javascript - Firebase Polymer 匿名身份验证到 google 身份验证

javascript - jQuery:保存已选择的选择元素选项

jquery-ui - Jquery UI Spinner - 禁用键盘输入