Jquery输入倍数(keyup)
Jquery input number in multiples (keyup)
如何使input
元素只接受50的倍数?
我知道我们可以将step="50"
指定为属性,但我更喜欢由keyup
事件触发的解决方案。
我发现了这个代码,它阻止用户输入小于50的数字。
问题:如何调整此代码,以便只能输入50的倍数?
$('#numberbox').keyup(function(){
if ($(this).val() < 50){
alert("Minimum Quantity: 50");
$(this).val('50');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="numberbox" type='number'>
使用模运算符
var multiple = 50;
$('#numberbox').keyup(function(){
if (parseInt($(this).val()) % multiple ) {
alert("Only multiples of " + multiple + " allowed");
$(this).val(multiple);
}
});
我更喜欢blur
而不是keyup
,因为keyup
会保持警报状态。要知道它是否是50
的倍数,请使用modulo
(即%
)检查条件,如parseInt($(this).val())%50 != 0
$('#numberbox').blur(function(){
if (parseInt($(this).val())%50 != 0){
alert("Multiples of 50 should be entered");
$(this).val('50');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="numberbox" type='number'>
您可以使用Remainder(%)来执行此操作,请查看下面的示例。
余数运算符返回一个操作数除以第二个操作数后剩下的余数。它总是取被除数的符号,而不是除数。
$('#numberbox').keyup(function(){
if ($(this).val()%50==0){
$('#result').text($(this).val()+' is multiple of 50');
}else{
$('#result').text($(this).val()+' is not a multiple of 50');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="numberbox" type='number'>
<span id='result'></span>
希望这能有所帮助。
相关文章:
- 访问代码生成的输入元素上的keyup事件
- .on('keyup', .) 未在输入时执行
- 使用Jquery Keyup函数将变量从一个输入字段传递到另一个
- jQuery:在除一个输入文本字段之外的所有文档上激发keyup
- keyup显示输入和复选框的总值
- jQuery获取keyup上带有类的输入的ID不起作用
- 在 keyUp 上搜索输入
- jQuery在keyup上动态插入新的输入框
- 无法使用 keyUp 更改表内的输入焦点
- 在“keyup”事件上获取此输入框的值
- jQuery keyup - 不可见的第二个输入
- 如何将 jquery keyup() 的每个输入值保存在 MySQL 数据库中
- 我想在输入数据本身时显示错误消息(在 keyup 上)
- 具有范围数值的输入框的KeyUp事件的Jquery Regex
- 在backbonejs视图中,keypress/keyup/keydown事件是否仅适用于输入,而不适用于其他元素
- Jquery输入倍数(keyup)
- 需要更新keyup上的输入值
- Chrome扩展:JQuery触发'keyup'不更新'输入'value-网站使用淘汰J
- 使用keyup匹配输入元素
- Keyup函数不适用于表单输入