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

时间:2010-12-23 15:23:38

标签: 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;
}

6 个答案:

答案 0 :(得分:14)

  

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

     

这可以接受小于“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/

答案 1 :(得分:1)

除现有答案外,还有其他一些内容。看看这个:

var seatsValid = true;
// cache the selector
var seatsVal = $("#seats").val();
if(seatsVal!=''){
    seatsValid = false;
    alert("Not a valid character")
    // convert seatsVal to an integer for comparison
}else if(parseInt(seatsVal) < 99999){
    seatsValid = false;
    alert("Not a valid Number");
}

变量名setFlag非常通用,如果你只使用它与你应该重命名的席位数(我称之为seatValid)。我还将其初始化为true,从而消除了原始代码中最终else的需要。接下来,我将选择器调用到变量中的.val()。缓存选择器是一种很好的做法,因此jquery不需要遍历DOM而不需要遍历DOM。最后,在比较两个值时,您应该尝试确保它们是相同的类型,在这种情况下,seatVal是一个字符串,因此为了正确地将它与99999进行比较,您应该在其上使用parseInt()。

答案 2 :(得分:0)

将小于运算符更改为大于或等于运算符:

}elseif($("#seats").val() >= 99999){

答案 3 :(得分:0)

this answer。 val()比较字符串,而不是数值

答案 4 :(得分:0)

If statement for images in jquery:
#html

<button id="chain">Chain</button>
<img src="bulb_on.jpg" alt="img" id="img"/>

#script
    <script>
        $(document).ready(function(){
            $("#chain").click(function(){
            if($("#img").attr('src')!='bulb_on.jpg'){
                $("#img").attr('src', 'bulb_on.jpg');
            }
            else
            {
                $("#img").attr('src', 'bulb_onn.jpg');
            }
            });
        });
    </script>

答案 5 :(得分:0)

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
  <form name="myform">
    Enter your name
    <input type="text" name="inputbox" id='textBox' value="" />
    <input type="button" name="button" class="member" value="Click1" />
    <input type="button" name="button" value="Click2" onClick="testResults()" />
  </form>
  <script>
    function testResults(n) {
      var answer = $("#textBox").val();
      if (answer == 2) {
        alert("Good !");
      } else if (answer == 3) {
        alert("very Good !");
      } else if (answer == 4) {
        alert("better !");
      } else if (answer == 5) {
        alert("best !");
      } else {
        alert('wrong');
      }
    }
    $(document).on('click', '.member', function () {
      var answer = $("#textBox").val();
      if (answer == 2) {
        alert("Good !");
      } else if (answer == 3) {
        alert("very Good !");
      } else if (answer == 4) {
        alert("better !");
      } else if (answer == 5) {
        alert("best !");
      } else {
        alert('wrong');
      }
    });
  </script>