54 votes

Comment obtenir le nombre d'options sélectionnées en utilisant jquery ?

J'ai une liste de sélection multiple qui contient plus de 5 options. Mais je veux restreindre la sélection des options à 2 ou 3 options. Comment le faire en utilisant jquery ? Comment obtenir le nombre d'options sélectionnées dans une liste de sélection multiple ? J'utilise le plugin de validation jquery.

108voto

Nick Craver Points 313913

Vous pouvez utiliser le site :selected sélecteur pour les sélectionner, puis obtenir le .length comme ceci :

var count = $("#mySelect :selected").length;

2 votes

Le premier est le meilleur, car $("#mySelect").val() est nul si aucune option n'est sélectionnée.

0 votes

@svinto - bien vu, je passe outre. .val() pour retourner un tableau vide dans ce cas dans ma construction, IMO il debe fait cela par défaut cela s'est avéré plus utile pour moi, mais nous verrons si cela change un jour.

0 votes

Oui, le premier est meilleur et a donné un résultat correct pour ma situation. En tout cas, merci.

4voto

halfdan Points 16440

Vous pouvez obtenir le nombre d'éléments sélectionnés dans le multiselect en procédant comme suit :

$('#selectList :selected').length

Où #selectList est l'identifiant de votre .

1 votes

.count() n'est pas une fonction jQuery :) .size() est, mais c'est juste une enveloppe pour .length autant l'utiliser directement.

3voto

Prashant Lakhlani Points 4182

var n = $("input:checked").length; voir ceci pour plus de détails : http://api.jquery.com/checked-selector/

1 votes

Je ne pense pas que c'est ce que l'OP avait à l'esprit, mais plus important encore, cela correspondra à tous les modèles de l'OP. <input> y compris les boutons radio. Soyez donc prudent lorsque vous utilisez :checked seul.

1voto

Strabek Points 725

Pour les cases à cocher, j'utilise :

$('input[name="InputName"]:checked').size()

0voto

Ahmed khaled Points 43

J'utilise select2 pour la sélection multiple et ceci a fonctionné avec moi

 $("#selectedItems").val().length;

Notez que 'selectedItems' est l'identifiant de la liste multiselect.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X