如何检查下拉列表在jquery中有值?

时间:2012-01-31 12:14:30

标签: jquery

检查的最佳方法是下拉列表包含一个非空的值。

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

如何检查上面的下拉列表中是否包含值?

4 个答案:

答案 0 :(得分: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

答案 1 :(得分:2)

试试这个

只有在值

时才会给出值
$("#dropFinish1 option:selected[value!=""]).val()

答案 2 :(得分:2)

你的意思是:


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

答案 3 :(得分:0)

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

如果返回“”则表示没有选择任何内容。

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

如果变量保持为空,则表示没有选择任何项目。