如何使用jquery!= with conditional ||操作者

时间:2013-04-12 09:53:31

标签: jquery

很抱歉,因为这是我今天提出的同类问题。但是,随着早先的问题越来越大,令人困惑,我不得不再分别提出这个问题。 我的身体部分有以下代码:

<form action="" method="post">
<select id="fruits" name="fruits">
<option>Apple</option>
<option>Mango</option>
<option>Orange</option>
</select>
<select id="color" name="color">
<option>Red</option>
<option>Green</option>
<option>Yellow</option>
</select>
<input type="text" id="result" value="" />

我想做什么,如果用户从水果中选择Apple并从第二个下拉菜单中更改颜色,“正确选择”将出现在#result输入中。另一方面,如果用户从水果中选择Mango或Orange并更改颜色选项,则将从#result输入中清除值。所以jquery代码将是这样的:

$("#color").change(function() {
if($("#fruits").val()!="Mango" || $("#fruits").val()!="Orange"){
  $("#result").val(""); 
}else{
  $("#result").val("Right Choice"); 
}
});

但它不起作用。更改任何水果,清除#result输入的值。但是如果我在if语句中只使用一个条件,那么它运行良好。

$("#color").change(function() {
if($("#fruits").val()!="Mango"){
  $("#result").val(""); 
}else{
  $("#result").val("Right Choice"); 
}
});

为什么会这样?

4 个答案:

答案 0 :(得分:1)

if($("#fruits").val()!="Mango" || $("#fruits").val()!="Orange"){

表示 TRUE 的情况,如果该值不是Mango或NOT Orange。在您的情况下,您应该将||替换为&&,以便在用户选择Mango或Orange时,它会提示Right Choice

答案 1 :(得分:0)

如果你想要水果不是芒果和橙子,你可以用&amp;&amp;(AND)代替OR。

答案 2 :(得分:0)

使用此

  if(($("#fruits").val()!="Mango") && ($("#fruits").val()!="Orange")){
  $("#result").val(""); 
} else{
  $("#result").val("Right Choice"); 
}
});

答案 3 :(得分:0)

更改

if($("#fruits").val()!="Mango" || $("#fruits").val()!="Orange"){

if( !($("#fruits").val()=="Mango" || $("#fruits").val()=="Orange")){