2016-07-07 4 views
-4

arbeitet Dies ist eine wirklich seltsame Frage, aber hier ist mein Schnipsel von JS CodeOR-Operator in Javascript nicht korrekt

if ($("#formCountryCode").val() !== "Choose One" || $("#formCountryCode").val() !== "Select One") { 
    formCountryCode = $("#formCountryCode").val(); 
} 

Grundsätzlich, wenn ich den Wert aus der Form greifen, und ich laufe durch die Debugger, der Wert ist gleich "Choose One", aber es geht immer noch in die if-Anweisung, die mich wirklich verwirrt.

Gibt es einen Grund dafür?

+3

Wenn der Wert ist "Wählen Sie einen", es ist nicht "Wählen Sie einen". Also eine der Bedingungen ist truthy! – undefined

+0

Dieses Problem scheint nicht mit der Art und Weise in Zusammenhang zu stehen, in der JavaScript den OR-Operator implementiert hat. –

+3

Mein Gott, das ist peinlich – kebabTiger

Antwort

2

Sie benötigen AND nicht OR:

if ($("#formCountryCode").val() !== "Choose One" && $("#formCountryCode").val() !== "Select One") { 
    formCountryCode = $("#formCountryCode").val(); 
} 
3

Unter der Annahme, die erste Bedingung false ist, weil der Wert "Bitte auswählen", die zweite Bedingung kehrt true weil "Choose One" !== "Select One":

$("#formCountryCode").val() !== "Select One" 
Verwandte Themen