¿Cómo verifico cuántas opciones hay en un menú desplegable?

110

¿Cómo verifico, usando jQuery, cuántas opciones hay en un menú desplegable?

Gracias.

Asim Zaidi
fuente

Respuestas:

201
var length = $('#mySelectList').children('option').length;

o

var length = $('#mySelectList > option').length;

Esto supone que su <select>lista tiene un ID de mySelectList.

usuario113716
fuente
.children('option').length;fue la única forma en que pude obtener la opción real count / select.length después de poblar mi lista de selección dinámicamente a través de ajax en el .done ({}); usando .append (). ¡Camino a seguir!
yardpenalty.com
para la longitud de las opciones seleccionadas es correcto "$ ('. opción de búsqueda-selección: seleccionado'). longitud"
Youssef Boudaya
10
$("#mydropdown option").length

O si ya tiene una referencia,

$(myDropdown).find("option").length
Matti Virkkunen
fuente
8

Utilice la propiedad length o el método size para averiguar cuántos elementos hay en una colección jQuery. Utilice el selector de descendientes para seleccionar todos <option>los dentro de a <select>.

HTML:

<select id="myDropDown">
<option>1</option>
<option>2</option>
.
.
.
</select>

JQuery:

var numberOfOptions = $('select#myDropDown option').length

Y una nota rápida, a menudo tendrá que hacer algo en jquery para algo muy específico, pero primero debe ver si existe algo muy específico. La propiedad de longitud es la herramienta perfecta. ejemplo:

   if($('#myDropDown option').length > 0{
      //do your stuff..
    } 

Esto se 'traduce' a "Si el elemento con ID = myDropDown tiene alguna opción" descendiente, haga lo que necesite hacer.

Adán
fuente
4
$('#idofdropdown option').length;

Deberias hacer eso.

Rob Stevenson-Leggett
fuente
4

Obtener la cantidad de opciones en un elemento seleccionado en particular

$("#elementid option").length
Sharjeel Aziz
fuente
No hay ninguna ventaja en usar ".size" sobre ".length", que es un poco más rápido.
Russ Bradberry
3
alert($('#select_id option').length);
fantactuka
fuente
3
$('#dropdown_id').find('option').length
segundo
fuente
3
$('select option').length;

o

$("select option").size()
Nicholasklick
fuente
.size()es útil si desea encadenar
adardesign
.size () devuelve un entero y, por lo tanto, no se puede encadenar. Solo puede encadenar métodos que devuelvan objetos jQuery.
Russ Bradberry
0

Con javascript puro, puede simplemente llamar a la longitud en la identificación del cuadro de selección. Será más rápido. Por lo general, con todo lo que el javascript nativo funciona cada vez mejor con los navegadores modernos

Esto se puede lograr en javascript por

     var dropdownFilterSite = document.querySelector( '#dropDownId' );  //Similar to jQuery

var length = dropdownFilterSite.length.

Buen sitio web para aprender

www.youmightnotneedjquery.com

Un buen video para ver de Todd Motto

https://www.youtube.com/watch?v=pLISnANteJY

Vatsal
fuente