2017-07-04 153 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。