簡體   English   中英

比較兩個輸入字段中的值

[英]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"

這是一個工作的小提琴

http://jsfiddle.net/pe2ZE/

使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM