我的正文部分有以下代码:
<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="" />
我想要做什么,如果用户从水果中选择苹果或芒果并从第二个下拉菜单中更改颜色,“正确的选择”将出现在#result 输入中。另一方面,如果用户从水果中选择橙色并更改颜色选项,则在#result 输入中不会看到任何变化。所以jquery代码会是这样的:
$("#color").change(function() {
if($("#fruits").val()!="Orange"){ $("#result").val("Right Choice"); }
});
但不知道为什么,这段代码不能正常工作,选择所有水果正在将#result输入的文本更改为“正确的选择”。但是,如果我按以下方式更改代码,它就可以工作:
$("#color").change(function() {
if($("#fruits").val()=="Orange"){
/*--do nothing--*/
}else{
$("#result").val("Right Choice");
}
});
第一个代码和第二个代码都具有相同的逻辑条件,但为什么 jquery 代码不适用于第一种情况?
更新:我发现如果我把一个不等于条件,它工作正常,但如果我使用“或”运算符代码不起作用:
$("#color").change(function() {
if($("#fruits").val()!="Orange" || $("#fruits").val()!="Mango"){
$("#result").val("Right Choice");
}
});
它不工作,但它正在工作:
$("#color").change(function() {
if($("#fruits").val()!="Orange"){
$("#result").val("Right Choice");
}
});