2011-01-31 22 views

Respuesta

7
var hasOptions = !!$('#theSelect option').filter(function() { return !this.disabled; }).length; 

tal vez? Esto busca <option> elementos que no están deshabilitados.

+1

¡Eso es rad @Pointy! – jessegavin

+0

Sí, eso es algo bueno de hacer. – Pointy

3
$('#input1 option').length > 0 

Dónde #input es el ID del elemento select está ejecutando esta prueba en contra.

7
if ($("#myselect option").length > 0) { 
    // Yay we have options 
} 
+0

'length' es una propiedad. No es necesario el '(' y ')'. –

+0

Entendido. Fijo. Gracias @Makram – jessegavin

+0

¿Qué sucede si la longitud es 1? –

8
var menu = getElementById("select_id"); 
if(menu.options.length) { 
    // has children 
} else { 
    // empty 
} 
+0

Suponiendo que quiere algo que funciona sin ** jQurey **. –

0

nativos javascript solución:

!!document.getElementById('jiveviewthreadsform-filter').children.length 

(Por favor, no use demasiado jQuery, gracias)

+0

jive forum tiene esto? – Blankman

+1

No funcionará si hay un '' vacío allí :-) – Pointy

+0

@Pointy Verdadero pero el OP nunca dijo nada sobre ''. +1 a su solución de todos modos, es la mejor (aunque un poco prolija) –

0

Muy hackily, sólo puede comprobar su selectedIndex; dado que la mayoría de los navegadores se aseguran de que haya algo seleccionado, si es posible, solo será -1 si no hay opciones seleccionables.

Cuestiones relacionadas