[英]Compare values in two input fields
我有兩個輸入字段,我想知道如何比較這兩個字段之間的值。
<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');
}
我究竟做錯了什么???
您應該將事件處理程序(例如“ keypress
”)綁定到其中一個字段。 當偶數被觸發時,您應該比較兩個輸入字段的值,並在必要時顯示警報。
此外, type="number"
是正確的,而不是"numeric"
。
這是一個工作的小提琴
使用type="number"
,據我所知有這樣的numeric
類型
碼
if (+$("#end").val() > +$("#start").val()) {
//do something
} else {
alert('Wrong Input');
}
在這里我用+
將值轉換為整數
您正在比較字符串$("#end").val() > $("#start").val()
因此您必須比較數字, 不要忘記基數
if(parseInt($("#end").val(),10) > parseInt($("#start").val(),10))
並且type="numeric"
是錯誤的語法,請使用type="number"
<input id="start" type="number" value="" />
您需要使用type="number"
來使腳本起作用:
<input id="start" type="number" value="" />
<input id="end" type="number" value="" />
或者,您可以使用輸入類型的文本,然后使用parseInt(val)
解析輸入並進行比較。 像這樣:
if (parseInt($("#end").val()) > parseInt($("#start").val())){
//rest code
}
您不能使用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
})
您必須像將類型那樣將值轉換為int
if (parseInt($("#end").val()) > parseInt($("#start").val())) {
//do something
}else {
alert('Wrong Input');
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.