2015-04-01 26 views
1

我想实现下面的代码片段到我的项目:http://jsfiddle.net/Zmf6t/。但我遇到了一些困难;我在jQuery(document).ready()回调函数中封装了JavaScript,并在Chrome调试器中检查它显示脚本正在运行。但是,当我到达if(jQuery(this).val() == "-1")(因为我的<select>值的值为-1作为其值),调试程序报告value属性的属性为"-1",但if内的语句从不计算。而是对else属性进行评估。jQuery的.VAL()没有返回的期望是什么

没有人有任何想法,为什么这可能发生?我似乎无法孤立这个问题,提供一个最小的工作示例;我的jQuery是如下:

jQuery(document).ready(function() {  
    jQuery('#test').change(function() { 
     if(jQuery(this).val() == "-1") 
     { 
      jQuery(this).addClass("empty-combo"); 
     } 
     else 
     { 
      jQuery(this).removeClass("empty-combo"); 
     } 
    }); 

    jQuery('#test').change(); 
}); 
+0

http://jsfiddle.net/xtxtfmth/裹在[文件就绪(https://api.jquery.com/ready/)处理程序代码 – Satpal 2015-04-01 16:27:49

+0

试图向我们展示了'的console.log(jQuery的(本).VAL());' – Legendary 2015-04-01 16:28:13

+0

@Legendary它简单地返回'null'这是对比什么铬检查元件范围内的变量声明'元件的value'是? – 2015-04-01 16:31:51

回答

3

更改条件:

if(jQuery(this).val() == null) 

它的工作。