2010-09-14 8 views

Répondre

78

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

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

Premièrement, c'est mieux, puisque '$ (" # mySelect "). Val()' est nul si aucune option n'est sélectionnée. – svinto

+0

@svinto - bonne capture, je remplace '.val()' pour retourner un tableau vide dans ce cas dans ma construction, IMO il * devrait * le faire par défaut .. il s'est avéré plus utile pour moi, mais nous verrons si ça change jamais. –

+0

Ya, Premier est meilleur et a donné un résultat correct pour ma situation. En tout cas merci. –

3

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

+1

Je ne pense pas que ce soit ce que l'OP avait à l'esprit, mais plus important encore, il égalerons tous les '' y compris les boutons radio, alors soyez prudent lorsque en utilisant ': checked' seul. –

3

Vous pouvez obtenir le nombre d'éléments sélectionnés dans le multiselect avec ce qui suit:

$('#selectList :selected').length 

Où #selectList est l'identifiant de votre.

+1

'.count()' n'est pas une fonction jQuery :) '.size()' est, mais c'est juste un wrapper pour '.length', pourrait aussi bien l'utiliser directement. –

+0

@Nick, merci. Vous avez tout à fait raison.. – halfdan

1

Pour les cases à cocher J'utilise:

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