很抱歉,因为这是我今天提出的同类问题。但是,随着早先的问题越来越大,令人困惑,我不得不再分别提出这个问题。 我的身体部分有以下代码:
<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");
}
});
为什么会这样?
答案 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")){