比较两个输入字段中的值

时间:2014-05-24 08:04:40

标签: javascript jquery html

我有两个输入字段,我想知道如何比较这两个字段之间的值。

<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');
        }

我做错了什么???

6 个答案:

答案 0 :(得分:4)

您应将事件处理程序(例如“keypress)绑定到其中一个字段。触发均匀后,您应该比较两个输入字段的值,并在必要时显示警告。

此外,type="number"不正确"numeric"

这是一个工作小提琴 -

http://jsfiddle.net/pe2ZE/

答案 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)

您必须像

一样将值转换为int
if (parseInt($("#end").val())  > parseInt($("#start").val())) {

            //do something

    }else {
            alert('Wrong Input');
        }
相关问题