2016-09-27 17 views
0

私はこのような選択ドロップダウンとオプションがあります:リスト0私はCSSスタイルを追加したい選択が、されていない場合オプションが選択されていない場合のステートメント

<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> 

と私の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

'おそらく' $(この).val .val() ' –

+0

' $(この)()であることが必要this.value' = "0" ' '$(this).val()'に短縮することができます。 「0」が「値なし」を表すことを意図しない限り、jQueryのすべては真実です。 –

+1

'this.value'は文字列を返し、' '0" 'は真にjsに入ります。文字列が空でないのは、偽の文字列です。 –

答えて

2

試し:!

$("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; 
     } 
    }); 
関連する問題