2009-11-20 143 views
4
布尔

我有以下的jQuery(我有它包裹在文件准备功能,所有这一切,所以请知道我只是显示你的函数内部。检查在JavaScript

.. 
      var itemIsSold = $("#itemIsSold").val(); 
      alert(itemIsSold); 
      if(!itemIsSold) { 
       ... 
    } 

其中itemIsSold是一个隐藏的输入字段。我得到的值假大写F如果它击中了警报,但从来没有进入我的下一个if语句。我知道这已经是一些愚蠢的简单。

+0

有什么办法可以将它作为实际的bool进行检查吗?我试图从我的asp.net代码隐藏中获取一个bool属性,现在我将这个值放入一个输入字段,但是有一个更好的方法可以从JS中获取它,而不是隐藏字段? – PositiveGuy 2009-11-20 20:32:47

回答

8

如果输入的值包含字符串“假”,不会转化为假布尔值。您需要实际检查itemIsSold == "False"

4

由于价值隐藏的输入字段是字符串,!"False"将被评估为false。请注意,除字符串wi外的任何字符串th的长度被视为true。所以,你应该比较,而将字符串值到另一个字符串值一样"False"

if (itemIsSold == "False") { 
    // … 
}