如何书写';不等于';jquery中的运算符是否正确
我的正文部分有以下代码:如何书写';不等于';jquery中的运算符是否正确,jquery,Jquery,我的正文部分有以下代码: <form action="" method="post"> <select id="fruits" name="fruits"> <option>Apple</option> <option>Mango</option> <option>Orange</option> </select> &
<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 input的文本更改为“Right Choice”。但是,如果我按以下方式更改代码,它将正常工作:
$("#color").change(function() {
if($("#fruits").val()=="Orange"){
/*--do nothing--*/
}else{
$("#result").val("Right Choice");
}
});
$("#color").change(function() {
if($("#fruits").val()!="Orange"){
$("#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"){
/*--do nothing--*/
}else{
$("#result").val("Right Choice");
}
});
$("#color").change(function() {
if($("#fruits").val()!="Orange"){
$("#result").val("Right Choice");
}
});
两者都不同。在上一个代码中,您将与(!=橙色)进行比较,在下一个代码中,您将与(=橙色)进行比较 有几个问题
#fruits
元素的值变化做出反应,这意味着如果您选择一种颜色,然后选择“橙色”作为水果,它仍然会说“正确的选择”更改
事件处理程序绑定到
:
我还创建了一个类似这样的。程序
$("#color").change(function() {
if($("#fruits").val()!="Orange"){
$("#result").val("Right Choice");
} else {
$("#result").val("");
}
});
$(document).ready(function() {
$("#color").change(function() {
if($("#fruits").val()!="Orange"){ $("#result").val("Right Choice"); }
});
});
这对我更有效(不一定是你想要的)
您的代码应该在jquery的dom就绪函数中打开,如下所示
$("#color").change(function() {
if($("#fruits").val()!="Orange"){
$("#result").val("Right Choice");
} else {
$("#result").val("");
}
});
$(document).ready(function() {
$("#color").change(function() {
if($("#fruits").val()!="Orange"){ $("#result").val("Right Choice"); }
});
});
if($(“#fruits”).val()==“Orange”){
您错过了一个在这里输入错误的=
,在原始代码中有double==。但是代码不起作用。它似乎可以正常工作。如果您首先使用$('#result').val清除#result
字段,可能会更明显
在您的情况下,当您选择芒果和苹果时,它工作正常,因为给定的条件不等于橙色,所以不显示任何内容,在下一种情况下,条件检查等于橙色,所以它显示正确的选择。