如果/ else,如果在Jquery中是一个条件

Som*_*one 7 jquery jquery-selectors

我有一组文本字段,我正在进行验证说我有一个名为"座位"的字段,这可以接受小于"99999"的值.意思是我不应该输入"99999"任何比这更少的东西是好.为此我在下面写了if if else if.请告诉我,我做错了什么.我早上很困惑它是否应该小于或大于

if ($("#seats").val() != '') {
    setflag = false;
    alert("Not a valid character")
}
else if($("#seats").val() < 99999) {
    alert("Not a valid Number");
} else {
    setflag = true;
}
Run Code Online (Sandbox Code Playgroud)

Nel*_*mel 15

我早上很困惑,是否应该小于或大于`

这可以接受小于 "99999"的值

我想你自己回答了......但是当它低于它时它是有效的.因此以下是不正确的:

}elseif($("#seats").val() < 99999){
  alert("Not a valid Number");
}else{
Run Code Online (Sandbox Code Playgroud)

你说如果它小于 99999,那么它无效.你想做相反的事情:

}elseif($("#seats").val() >= 99999){
  alert("Not a valid Number");
}else{
Run Code Online (Sandbox Code Playgroud)

此外,由于你有$("#seats")两次,jQuery必须搜索两次DOM.您应该将值或至少DOM元素存储在变量中.而且你的一些代码没有多大意义,所以我将做出一些假设并将它们放在一起:

var seats = $("#seats").val();

var error = null;

if (seats == "") {
    error = "Number is required";
} else {
    var seatsNum = parseInt(seats);

    if (isNaN(seatsNum)) {
        error = "Not a valid number";
    } else if (seatsNum >= 99999) {
        error = "Number must be less than 99999";
    }
}

if (error != null) {
    alert(error);
} else {
    alert("Valid number");
}

// If you really need setflag:
var setflag = error != null;
Run Code Online (Sandbox Code Playgroud)

这是一个工作样本:http://jsfiddle.net/LUY8q/