2012-01-31 8 views
10

何が最良の方法であるかは、ドロップダウンにis not nullの値が含まれているかどうかです。jqueryにドロップダウンをチェックする方法には値がありますか?

<select class="dropinput" name="Finish1" id="dropFinish1" tabindex="10" disabled="disabled"> 
    <option value=""></option> 
</select> 

上記のドロップダウンを確認するには値は何もありません。

+0

値が含まれていない(値なしの

+0

には値が含まれていません – Beginner

答えて

15
if($('.dropinput > option[value!=""]').length == 0) { 
    //dropdown contains no non-null options 
} 

これは、選択ボックスに ""(空)以外の値を持つオプションがゼロであるかどうかをチェックします。

したがって、次のHTMLは、jQueryの上記に空と見なされます。

<select class="dropinput" name="Finish1" id="dropFinish1" tabindex="10" disabled="disabled"> 
    <option value=""></option> 
</select> 

次のHTMLは、は空として表示されません。

<select class="dropinput" name="Finish1" id="dropFinish1" tabindex="10" disabled="disabled"> 
    <option value=""></option> 
    <option value="some value"></option> 
</select> 

JSFiddle demo

2

が、これはそれが何も選択されていないことを意味「」それが返した場合、それは価値

$("#dropFinish1 option:selected[value!=""]).val() 
+0

これは美しく動作しますが、欠落していることもありますので、 '$("#dropFinish1オプション:selected [value!= ""] ") –

0
$('.dropinput').text(); 

を持っている場合にのみ、あなたの価値を与えるこの

を試してみてください。

var selectedItem = ""; 
$('.dropinput option').each(function(){ 
if($(this).attr('selected') == 'selected'){ 
selectedItem = $(this).val(); 
} 
}): 

変数が空の場合、選択された項目がないことを意味します。

2

ドゥあなたは:

 

var hasOption = true; 
$('.dropinput option').each(function(i, v){  
     var $this = $(this);   
     if($this.val() == '' || $this.size < 1) { 
      hasOption = false; 
     } else { 
      hasOption = true; 
     }   
    }); 
 
関連する問題