这句话有什么问题。 数据可能包含以下任何一个值:CheckBox,Radio-Button,Payment-Gateway,Message,Award。 如果数据具有任何值,那么如果阻塞它就不应该执行,但不幸的是它。
if (data != "CheckBox" || data != "Radio-Button" || data != "Payment-Gateway" || data != "Award" || data != "Message") {
DynamiccontrolType.className = "form-control";
}
else
{
//nothing should happen;
}
答案 0 :(得分:2)
如果数据不是" Value1" OR 它不是" Value2"然后
此声明为假是没有价值的。
使用 AND 连接表达式
if (data != "CheckBox" && data != "Radio-Button" && data != "Payment-Gateway" && data != "Award" && data != "Message") {
DynamiccontrolType.className = "form-control";
}
修改强>
如果您想使用 OR ,则必须否定条件(使用==
代替!=
)
if (data == "CheckBox" || data == "Radio-Button" || data == "Payment-Gateway" || data == "Award" || data == "Message") {
DynamiccontrolType.className = "form-control";
}
答案 1 :(得分:2)
更优雅的解决方案:
if( ["CheckBox", "Radio-Button", "Payment-Gateway", "Message", "Award"].indexOf(data) == -1){
// data isn't any of these words
} else {
// data is one of these words
}
答案 2 :(得分:1)
这是一个OR声明......任何与Checkbox不同的东西或其他单词都会通过......你应该使用&&或==,取决于目标