if语句是否有'或'运算符?我想根据另一个文本字段的内容更改文本字段的值。如果值为“Your Company”或(德语)“Ihr Unternehmen”,则应将#cmp字段留空。否则它应该接管价值。我无法使用或运算符(第二个代码块),也不能使用else if语句。
// Working for one string:
if ($("#listencmp").val() != "Ihr Unternehmen") {
var comp = $("#listencmp").val();
$("#cmp").val(comp);
} else {
$("#cmp").val("");
}
// Not working for two strings:
if ($("#listencmp").val() != "Ihr Unternehmen" || "Your Company") {
var comp = $("#listencmp").val();
$("#cmp").val(comp);
} else {
$("#cmp").val("");
}
答案 0 :(得分:2)
想想或者运营商。您正在使用布尔表达式和字符串进行OR运算。您需要构建第二个布尔表达式。
if ($("#listencmp").val() != "Ihr Unternehmen" || $("#listencmp").val() == "Your Company")
答案 1 :(得分:1)
var listencmp = $("#listencmp").val();
if ( listencmp == "Ihr Unternehmen" || listencmp == "Your Company") {
$("#cmp").val("");
}
else{
var comp = $("#listencmp").val();
$("#cmp").val(comp);
}
旁注:最好使用严格相等(将==
替换为===
)
答案 2 :(得分:0)
使用此:
if ($("#listencmp").val() != "Ihr Unternehmen" ||
$('#listencmp').val() != "Your Company") {
// do the stuff here, this will work fine!
}
您需要完成条件然后继续下一个条件。接下来需要有两个条件可供比较。
答案 3 :(得分:0)
您还必须将compare语句用于第二个条件:
if ($("#listencmp").val() !== "Ihr Unternehmen" || $("#listencmp").val() === "Your Company") {
// your code here
}
可能更倾向于使用严格相等运算符(===
)。
答案 4 :(得分:0)
您应该使用OR
运算符来检查您的val() ===
这两个值。如果您坚持排除,请转而使用&&
运营商。
答案 5 :(得分:0)
我想补充一点,这可以很好地利用三元运算符,在一行代码中实现。
HTML:
<input type="text" id="cmp"/>
<input type="text" id="listencmp" value="Your Company"/>
使用Javascript:
$("#cmp").val(($("#listencmp").val() === "Your Company" || $("#listencmp").val() === "Ihr Unternehmen")?"":$("#listencmp").val());