Я с утра сильно путаюсь, должно ли оно быть меньше или больше `
это может принимать значение меньше"99999"
Я думаю, что вы сами ответили ... Но это действительно , когда меньше . Таким образом, следующее неверно:
}elseif($("#seats").val() < 99999){
alert("Not a valid Number");
}else{
Вы говорите, что если меньше 99999, то недействительно . Вы хотите сделать наоборот:
}elseif($("#seats").val() >= 99999){
alert("Not a valid Number");
}else{
Кроме того, поскольку у вас есть $("#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;
Вот рабочий пример: http://jsfiddle.net/LUY8q/