-1

if 语句是否有“或”运算符?我想根据另一个文本字段的内容更改文本字段的值。如果值为“Your Company”或(德语)“Ihr Unternehmen”,则应该将#cmp 字段留空。否则它应该接管该值。我无法使用 or 运算符(第二个代码块),也无法使用 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("");
 }
4

6 回答 6

2

想想 or 运算符。您正在 OR'ing 一个布尔表达式和一个字符串。您需要构建第二个布尔表达式。

if ($("#listencmp").val() != "Ihr Unternehmen" || $("#listencmp").val() == "Your Company")
于 2013-10-20T14:56:19.900 回答
1
var listencmp = $("#listencmp").val();
if ( listencmp == "Ihr Unternehmen" || listencmp  == "Your Company") {
 $("#cmp").val("");
}
else{
 var comp = $("#listencmp").val();
 $("#cmp").val(comp);
}

旁注:最好使用严格相等(替换=====

于 2013-10-20T14:54:53.917 回答
0

用这个:

if ($("#listencmp").val() != "Ihr Unternehmen" || 
     $('#listencmp').val() != "Your Company") {
   // do the stuff here, this will work fine!
}

您需要完成条件然后继续下一个条件。接下来的需要有两个条件进行比较。

于 2013-10-20T14:55:17.393 回答
0

您也必须对第二个条件使用比较语句:

if ($("#listencmp").val() !== "Ihr Unternehmen" || $("#listencmp").val() === "Your Company") {
  // your code here
}

可能更推荐使用严格相等运算符 ( ===)。

于 2013-10-20T14:58:22.117 回答
0

您应该使用OR运算符来检查您的val() ===两个值是否。如果您坚持排除,请&&改为选择运营商。

于 2013-10-20T15:01:22.953 回答
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());
于 2013-10-20T15:09:13.850 回答