2012-09-23 9 views
10

Tengo una lista de selección múltiple que tiene más de 5 opciones, y quiero contar el número de selección de las opciones seleccionadas por el usuario.cuente el número de selecciones en un cuadro de selección múltiple

¿Cómo hacerlo usando el script java?

He intentado lo siguiente, pero no funcionó para mí:

var x = document.getElementById("preference").count; 

Gracias de antemano.

+0

> var x = document.getElementById ("preference"). Count; – coolmego

Respuesta

21

Asumir foo es la identificación de la selección.

Si utiliza javasript normales:

var options = document.getElementById('foo').options, count = 0; 
for (var i=0; i < options.length; i++) { 
    if (options[i].selected) count++; 
} 

Si utiliza jQuery:

var count = $('#foo option:selected').length; 
+0

gracias, está bien trabajado. ¿Hay alguna propiedad que pueda verificar el número de selecciones en lugar de utilizar un bucle for, como usamos en "casillas de verificación" donde se puede usar la propiedad .checked? – coolmego

+0

@coolmego No, no hay tal propiedad. Para 'checkbox', sí, use la propiedad' checked'. – xdazz

+1

puede sugerir un buen tutorial para javascript a partir de lo básico. – coolmego

1

Utilice el :selected, así:

$('#example option:selected').length; 
2

Usted puede intentar esto para conseguir cuadro de selección múltiple número de opciones seleccionadas por el usuario y sus nombres seleccionados. Tratar este enlace http://jsfiddle.net/N6YK8/8/

function getCount(){ 
      var comboBoxes = document.querySelectorAll("select"); 
      var selected = []; 
      for(var i=0,len=comboBoxes.length;i<len;i++){ 
        var combo = comboBoxes[i]; 
        var options = combo.children; 
        for(var j=0,length=options.length;j<length;j++){ 
         var option = options[j]; 
         if(option.selected){ 
          selected.push(option.text); 
         } 
        } 
      } 
      alert("Selected Options '" + selected + "' Total Count "+ selected.length); 
     } 
0

Si < IE8 no es una preocupación, se puede hacer una sola línea como document.querySelectorAll("option:checked") para obtener todas las opciones seleccionadas.

-1
function SelectPage(elem) 
{ 
    alert(elem); 
} 
<select id="page" name="section" onChange="SelectPage(this);" id="num"> 
    <option value="">Select Section</option> 
    <option value="1">Page-1</option> 
    <option value="2">Page-2</option> 
    <option value="3">Page-3</option> 
    <option value="4">Page-4</option> 
    <option value="5">Page-5</option> 
</select> 
+0

puede usar esto también en su función 'var len = docment.getElementById (" num "). Options; alert ("hello" + len.length); ' –

Cuestiones relacionadas