2012-01-31 55 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; 
     }   
    }); 
 
相关问题