【发布时间】:2014-10-30 13:01:55
【问题描述】:
我想将用户输入限制在特定范围内(-90 到 90)。数字可以是整数或小数。默认值必须是0。我确实不想使用 HTML5 min / max 属性。
这是我的 HTML:
<input type="number" value="0" />
这是我尝试过的:
$('input').on('input', function () {
var value = $(this).val();
$(this).val(Math.max(Math.min(value, 90), -90));
});
这是错误的,因为它不允许我删除默认值(因此我不能输入 - 用于负数或输入 . 用于十进制数)。
所以我最终这样做了:
$('input').on('input', function () {
var value = $(this).val();
if ((value !== '') && (value.indexOf('.') === -1)) {
$(this).val(Math.max(Math.min(value, 90), -90));
}
});
这样更好,但现在的问题是我可以输入超出我定义范围的90.1。
建议?
【问题讨论】:
标签: javascript jquery range