2010-09-14 12 views
41

Tengo una lista de selección múltiple que tiene más de 5 opciones. Pero quiero restringir la selección de las opciones a 2 o 3 opciones. ¿Cómo hacerlo usando jquery? ¿Cómo obtener el conteo de las opciones de selección en la lista de selección múltiple? Estoy usando el complemento de validación jquery.¿Cómo obtener el número de opciones seleccionadas usando jquery?

Respuesta

78

Usted puede utilizar the :selected selector para seleccionarlos, a continuación, obtener la .length, así:

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

Primero es mejor, ya que '$ (" # mySelect "). Val()' es nulo si no se selecciona ninguna opción. – svinto

+0

@svinto - buena captura, sobreescribo '.val()' para devolver una matriz vacía en ese caso en mi compilación, la IMO * debería * hacerlo por defecto ... ha resultado ser más útil para mí, pero ya veremos si alguna vez cambia –

+0

Ya, Primero es mejor y dio el resultado correcto para mi situación. Gracias de todos modos. –

3

var n = $("input:checked").length; ver esto para más detalle: http://api.jquery.com/checked-selector/

+1

no creo que esto es lo que el PO tenía en mente, pero lo más importante es que voy a combinar con cada '' incluyendo botones de radio, así que tenga cuidado cuando usando ': checked' solo. –

3

, usted puede obtener el número de elementos seleccionados en el multiselect con lo siguiente:

$('#selectList :selected').length 

Donde #selectList es la identificación de su.

+1

'.count()' no es una función jQuery :) '.size()' es, pero es solo un contenedor para '.length', también podría usarlo directamente. –

+0

@Nick, gracias. Tienes toda la razón ... – halfdan

1

Para casillas de verificación que estoy usando:

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