我有两个输入字段,我想知道如何比较这两个字段之间的值。
<input id="start" type="numeric" value="" />
<input id="end" type="numeric" value="" />
在上面的输入字段中,如果id='start'
的输入字段中的值大于id='end'
,我想显示提醒。
我在下面试过但没有工作
if ($("#end").val() > $("#start").val()) {
//do something
}else {
alert('Wrong Input');
}
我做错了什么???
答案 0 :(得分:4)
您应将事件处理程序(例如“keypress
”)绑定到其中一个字段。触发均匀后,您应该比较两个输入字段的值,并在必要时显示警告。
此外,type="number"
不正确"numeric"
。
这是一个工作小提琴 -
答案 1 :(得分:2)
使用type="number"
,据我所知,类型为numeric
代码的
if (+$("#end").val() > +$("#start").val()) {
//do something
} else {
alert('Wrong Input');
}
这里我使用+
将值转换为整数
答案 2 :(得分:2)
您正在比较字符串$("#end").val() > $("#start").val()
,因此您必须比较数字,不要忘记基数
if(parseInt($("#end").val(),10) > parseInt($("#start").val(),10))
和type="numeric"
语法错误,请使用type="number"
<input id="start" type="number" value="" />
答案 3 :(得分:1)
您需要使用type="number"
来使脚本正常工作:
<input id="start" type="number" value="" />
<input id="end" type="number" value="" />
<强> Demo 强>
或者您可以使用输入类型文本,然后使用parseInt(val)
解析输入并进行比较。有人这样想:
if (parseInt($("#end").val()) > parseInt($("#start").val())){
//rest code
}
答案 4 :(得分:1)
您无法使用type="numeric"
仅输入数字
解决这个问题使用此代码
HTML
<input type="tel" name="name">
的jQuery
// HTML Text Input allow only Numeric input
$('[type=tel]').on('change', function(e) {
$(e.target).val($(e.target).val().replace(/[^\d\.]/g, ''))
})
$('[type=tel]').on('keypress', function(e) {
keys = ['0','1','2','3','4','5','6','7','8','9','.']
return keys.indexOf(event.key) > -1
})
答案 5 :(得分:0)
您必须像
一样将值转换为intif (parseInt($("#end").val()) > parseInt($("#start").val())) {
//do something
}else {
alert('Wrong Input');
}