Comment vérifier le nombre d'options qu'il y a dans un menu déroulant?

110

Comment vérifier, à l'aide de jQuery, combien d'options y a-t-il dans un menu déroulant?

Merci.

Asim Zaidi
la source

Réponses:

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

ou

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

Cela suppose que votre <select>liste a un ID de mySelectList.

utilisateur113716
la source
.children('option').length;était le seul moyen pour que je puisse obtenir l'option réelle count / select.length après avoir rempli ma liste de sélection dynamiquement via ajax dans le .done ({}); en utilisant .append (). Marche à suivre!
yardpenalty.com
pour la longueur des options sélectionnées est-ce correct "$ ('. option de sélection de recherche: sélectionné'). length"
Youssef Boudaya
10
$("#mydropdown option").length

Ou si vous en avez déjà une référence,

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

Utilisez la propriété length ou la méthode size pour savoir combien d'éléments se trouvent dans une collection jQuery. Utilisez le sélecteur descendant pour sélectionner tous <option>les éléments dans un fichier <select>.

HTML:

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

JQuery:

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

Et une note rapide, vous aurez souvent besoin de faire quelque chose dans jquery pour une chose très spécifique, mais vous devez d'abord voir si la chose très spécifique existe. La propriété length est l'outil parfait. exemple:

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

Cela se traduit par "Si l'élément avec ID = myDropDown a des" options "descendantes, faites ce que vous devez faire.

Adam
la source
4
$('#idofdropdown option').length;

Ça devrait le faire.

Rob Stevenson-Leggett
la source
4

Obtenez le nombre d'options dans un élément de sélection particulier

$("#elementid option").length
Sharjeel Aziz
la source
Il n'y a aucun avantage à utiliser ".size" sur ".length" qui est légèrement plus rapide.
Russ Bradberry
3
alert($('#select_id option').length);
Fantactuka
la source
3
$('#dropdown_id').find('option').length
seconde
la source
3
$('select option').length;

ou

$("select option").size()
nicholasklick
la source
.size()est utile si vous voulez enchaîner
adardesign
.size () renvoie un entier et, par conséquent, ne peut pas être chaîné. Vous ne pouvez enchaîner que des méthodes qui renvoient des objets jQuery.
Russ Bradberry
0

Avec du javascript pur, vous pouvez simplement appeler la longueur sur l'id de la boîte de sélection. Ce sera plus rapide. En règle générale, avec tout ce que javascript natif fonctionne de mieux en mieux avec les navigateurs modernes

Ceci peut être réalisé en javascript par

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

var length = dropdownFilterSite.length.

Bon site Web pour un peu d'apprentissage

www.youmightnotneedjquery.com

Une bonne vidéo à regarder par Todd Motto

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

Vatsal
la source