2012-01-31 14 views
10

cuál es la mejor manera de verificar si un menú desplegable contiene un valor que no es nulo.cómo comprobar un menú desplegable tiene un valor en jquery?

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

¿Cómo marcar el menú desplegable anterior no contiene valores?

+0

No contiene ningún valor (no

+0

no contiene ningún valor – Beginner

Respuesta

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

Esto verificará si el cuadro de selección contiene cero opciones que tienen un valor diferente de "" (vacío).

Así que el siguiente código HTML será visto como vacío en el anterior jQuery:

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

El código HTML siguiente se no ser visto como vacío:

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

JSFiddle demo

2

probar esto

esto le dará el valor sólo si tiene un valor

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

esto funciona muy bien, aunque falta ", por lo que debe leer' $ ("# dropFinish1 opción: selected [value! =" "]"). Val() ' –

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

si eso vuelve "" significa que no hay nada seleccionado.

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

si la variable permanece vacía significa que no hay ningún elemento seleccionado.

2

Do se refiere a:

 

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