如果没有选择选项语句

问题描述:

我有选择下拉菜单和选项是这样的:如果没有选择选项语句

<div class="input-field"> 
<span class="icon-area"></span> 
<select> 
    <option value="0">list 0</option> 
    <option value="1">list 2</option> 
    <option value="2">list 3</option> 
</select> 

,如果列表0未选择我要添加CSS样式,但我的js代码不工作

$("select").blur(function() { 
     $(this).parents(".input-field").removeClass("form-border"); 
     $(this).parents(".input-field").find(".icon-area").removeClass("form-background"); 

     if(this.value){ 
      $(this).parents(".input-field").addClass("form-border"); 
      $(this).parents(".input-field").find(".icon-area").addClass("form-background"); 
      return false; 
     }else{ 
      $(this).parents(".input-field").removeClass("form-border"); 
      $(this).parents(".input-field").find(".icon-area").removeClass("form-background"); 
      return false; 
     } 
    }); 

有什么不对?

+5

'this.value'可能需要将'$(本).VAL()'' –

+0

$(本).VAL()= “0”'可以缩写为'$(this).val()'。除非'0'代表“没有价值”,否则jQuery中的所有内容都是真实的。 –

+1

'this.value'返回字符串,而'“0”'实际上在js中。只有字符串为空是字符串 –

尝试用这种替代:

$("select").change(function() { 
     $(this).parents(".input-field").removeClass("form-border"); 
     $(this).parents(".input-field").find(".icon-area").removeClass("form-background"); 

     if(this.value==0){ 
      $(this).parents(".input-field").addClass("form-border"); 
      $(this).parents(".input-field").find(".icon-area").addClass("form-background"); 
      return false; 
     }else{ 
      $(this).parents(".input-field").removeClass("form-border"); 
      $(this).parents(".input-field").find(".icon-area").removeClass("form-background"); 
      return false; 
     } 
    });