Как проверить выпадающее значение имеет значение в jquery?

Каков наилучший способ проверки: выпадающее меню содержит значение, которое не равно null.

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

Как проверить вышеприведенный выпадающий список не содержит значений?

Ответ 1

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-код будет not пустым:

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

JSFiddle демо

Ответ 2

попробуйте это

это даст вам значение, только если оно имеет значение

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

Ответ 3

Вы имеете в виду:


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

Ответ 4

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

если это возвращает "", это означает, что ничего не выбрано.

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

если переменная остается пустой, это означает, что элемент не выбран.