2010-03-05 18 views
8

Estoy tratando de ver si se seleccionó una opción en un cuadro de selección y, de no ser así, quiero que se active una cadena. Me refería a este enlace (Check if option is selected with jQuery, if not select a default), pero no está funcionando.¿Cómo verifico si no se selecciona ninguna opción en un cuadro de selección con jQuery?

Aquí está mi código:

<select id="language" name="language"> 
    <option value=""></option> 
    <option value="1">One</option> 
    <option value="2">Two</option> 
    <option value="3">Three</option> 
</select> 

if(!$("#language option:selected").length) { 
    alert('no option is selected'); 
} 

yo más o menos copiado la respuesta relacionado, pero todavía no está funcionando. ¿Qué me estoy perdiendo?

Respuesta

15

Otro camino a seguir es:

if($("#language").attr("selectedIndex") == 0) { 
    alert("You haven't selected anything!"); 
    } 

Ejemplo de trabajo en: http://jsbin.com/eluki3/edit

+0

¡Muchas gracias! – zeckdude

3
if ($("#language option:selected").val() === "") 
{ 
    alert("No items selected"); 
} 

o simplemente

if ($("#language").val() === "") 
{ 
    alert("No items selected"); 
} 
+0

hay que tener cuidado si el HTML es '

5

tal vez porque el primero se selecciona de forma predeterminada.

tratar de usar

if($('#language :selected').text() == ''){ 
    alert('no option is selected'); 
} 
0

¿Ha puesto el código jQuery dentro de un

$(function() { });

?

Necesita ser evaluado después de que el DOM esté listo.

0

He resuelto el mismo problema usando:

if ($('#mySelector option:selected').get().length>0) { 
    //code 
} else ... 
Cuestiones relacionadas