2017-07-04 13 views
1

Wie Sie auf dem Bild sehen können, ist der Wert der r.SalaryGradenull. Warum überspringe ich meine IF Bedingung und gehe zu Else?. Ich stelle sicher, dass, wenn es eine leere Zeichenfolge und null ist, es eine Klasse zu einem Textfeld hinzufügen wird. Habe ich etwas falsch gemacht?.Javascript If-Else-Anweisung überspringen Wenn Bedingung

if (r.SalaryGrade == "" && r.SalaryGrade == null) { $("#JobGradeId").addClass('validation'); } 
else { $("#JobGradeId").removeClass('validation'); } 

enter image description here

+1

Ich bin ziemlich sicher in Javascript ''! = Null', mit anderen Worten, dass If-Anweisung wird nie eingegeben, wie Sie es wollen, eine leere Zeichenfolge * und * null. – Chris

+1

Vielleicht tauschen und- '&&' für or- '||'? – NewToJS

+2

'if (r.SalaryGrade ==" "|| r.SalaryGrade == null)' –

Antwort

2

Ihr, wenn die Bedingung hat eine "& &" drin.

'' and null are different things 

Sie müssen ändern, wie Sie diese if-Anweisung strukturieren. Sie könnten etwas tun, wie,

r.SalaryGrade == "" || r.SalaryGrade == null 
+0

Danke. Ich weiß nicht, warum ich es zuerst versuche, bevor ich es poste Es hat nicht funktioniert. Vielleicht wegen meines Browser-Caches. BTW Danke. 8 Minuten zu akzeptieren. – KiRa

+0

Kein Problem. Kämpfe weiter gegen den guten Kampf. Der Browser-Cache ist manchmal dein schlimmster Feind und lässt dich Probleme aufspüren, die es nicht wirklich gibt. Ich kenne den Kampf. –

1

r.salaryGrade = „“ als die erste bedingten weitergegeben, deshalb kann es nicht gleich auf null (wie es einen Wert von „“, die nicht null ist). Sie können die & & in ein || ändern und wenn beides wahr ist, wird es weitergehen.

1

Da gibt es & & in der if-Anweisung. es geht nicht in der if-Anweisung. Versuchen Sie dies zur Verdeutlichung - machen Sie einfach eine if-Anweisung

String s = "";

IF (s == null) print "es ist null";

sonst print "es ist nicht null";

Sehen Sie selbst, ob String s gleichzeitig leer und null sein kann.

Verwandte Themen