2013-10-20 177 views
-1

if語句是否存在'或'運算符?我想根據另一個文本的內容更改文本字段的值。如果價值是「您的公司」或(德語)「Ihr Unternehmen」,則應該將#cmp字段留空。否則,它應該接管價值。我無法使用or運算符(第二個代碼塊),也沒有使用else if語句。或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(""); 
} 

回答

1
var listencmp = $("#listencmp").val(); 
if (listencmp == "Ihr Unternehmen" || listencmp == "Your Company") { 
$("#cmp").val(""); 
} 
else{ 
var comp = $("#listencmp").val(); 
$("#cmp").val(comp); 
} 

側面說明:這是更好地使用嚴格的平等(更換=====

0

使用此:

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

你需要完成的條件,然後在下一個移動一。而下一個需要有兩個條件進行比較。

2

想想或運營商。你是一個布爾表達式和一個String。您需要構建第二個布爾表達式。

if ($("#listencmp").val() != "Ihr Unternehmen" || $("#listencmp").val() == "Your Company") 
0

你必須使用比較語句第二個條件太:

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

很可能是一個更推薦使用全等運算符(===)。

0

您應該使用OR運算符來檢查您的val() ===兩個值。如果您堅持排除,請改爲使用&&運營商。

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