2017-07-04 121 views
1

正如您在圖片中看到的,r.SalaryGrade的值是null。爲什麼它跳過我的IF條件並轉到Else?我確定如果是一個空字符串,並且它會將一個類添加到文本框。我做錯什麼了嗎?。JavaScript If-Else Statement skip如果條件

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

enter image description here

+1

我非常確定在Javascript中,'!'= null,換句話說,if語句永遠不會被輸入,因爲您希望它是一個空字符串*和* null。 – Chris

+1

也許swap和 - '&&爲or-'||'? – NewToJS

+2

'if(r.SalaryGrade ==「」|| r.SalaryGrade == null)' –

回答

2

你如果條件中有一個 「& &」。

'' and null are different things 

你需要改變你如何構造if語句。你可以這樣做,

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

謝謝。我不知道爲什麼我開始之前嘗試它沒有工作。也許是因爲我的瀏覽器緩存。 BTW謝謝。 8分鐘接受。 – KiRa

+0

沒有問題。繼續打好戰鬥。瀏覽器緩存有時是你最大的敵人,並且會讓你找到並不存在的問題。我知道鬥爭。 –

1

r.salaryGrade =「」爲第一條件通過,因此它不能等於空(因爲它有值「」,這是不爲空)。

您可以將& &更改爲||。如果兩者都是真的,它將繼續。

1

由於在if語句中有& &。它不在if語句中。只是試圖澄清 - 只是做一個if語句

String s =「」;

IF(s == null) print「it is null」;

else print「it is not null」;

看看自己String s是否可以同時爲空和null。