或if语句中的运算符

时间:2013-10-20 14:53:17

标签: javascript jquery

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("");
 }

6 个答案:

答案 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());