2012-01-31 13 views
10

qual è il modo migliore per verificare se un menu a discesa contiene un valore che non è null.come controllare un menu a discesa ha un valore in jquery?

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

Come controllare il precedente menu a discesa non contiene valori?

+0

Non contiene alcun valore (no

+0

non contiene alcun valore – Beginner

risposta

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

Verificherà se la casella di selezione contiene zero opzioni con un valore diverso da "" (vuoto).

Così il seguente codice HTML sarà visto come vuoto al di sopra jQuery:

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

Il seguente codice HTML sarà non essere vista come vuoto:

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

JSFiddle demo

2

provare questo

questo vi darà il valore solo se ha un valore

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

funziona magnificamente, anche se manca ", quindi dovrebbe leggere' $ ("# dropFinish1 opzione: selezionata [valore! =" "]"). Val() ' –

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

se che restituisce "", significa che non c'è niente selezionato.

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

se la variabile rimane vuota significa che non è selezionata alcuna voce.

2

Do intendi:

 

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