2012-01-31 62 views
10

檢查的最佳方法是下拉菜單中包含的值不爲null。如何檢查下拉列表在jQuery中有一個值?

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

如何檢查上述下拉菜單中是否包含無值?

+0

不包含值(沒有

+0

不包含任何值 – Beginner 2012-01-31 12:18:38

回答

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!=「」]「)。val()' – 2016-01-19 11:34:26

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; 
     }   
    }); 
 
相關問題