2009-05-16 14 views
30

Quiero contar cuántas casillas de verificación ha seleccionado un usuario. Por ejemplo, de un grupo de 10 casillas de verificación si selecciona 5, entonces quiero poder contarlo. El uso de la línea:Cómo obtener un recuento de todas las casillas marcadas en una página

$(":checkbox:checked") 

puedo seleccionar todas las casillas de verificación controladas, ¿hay una manera de obtener el recuento de todos los elementos que son devueltos por esa declaración así?

Respuesta

58

Utilice el método size() o la propiedad length. Se prefiere la propiedad de longitud ya que es más rápida.

Ejemplo:

var count = $("[type='checkbox']:checked").length; 
+1

gracias, no sabía longitud podría ser utilizado con jquery –

+1

use input before: checkbox, ya que sin eso se evalúa como *: checkbox que hace lenta la ejecución –

+0

Acabo de reutilizar su ejemplo. Lo he actualizado con el selector preferido aprovechando los métodos DOM nativos ya que: la casilla de verificación ha quedado obsoleta. – tvanfosson

1

Usando jQuery:

var cbs = $("input:checkbox"); //find all checkboxes 
var nbCbs = cbs.size(); //the number of checkboxes 

var checked = $("input[@type=checkbox]:checked"); //find all checked checkboxes + radio buttons 
var nbChecked = checked.size(); 

Uso de JavaScript:

var inputs = document.getElementsByTagName("input"); //or document.forms[0].elements; 
var cbs = []; //will contain all checkboxes 
var checked = []; //will contain all checked checkboxes 
for (var i = 0; i < inputs.length; i++) { 
    if (inputs[i].type == "checkbox") { 
    cbs.push(inputs[i]); 
    if (inputs[i].checked) { 
     checked.push(inputs[i]); 
    } 
    } 
} 
var nbCbs = cbs.length; //number of checkboxes 
var nbChecked = checked.length; //number of checked checkboxes 

Fuente: How to find Checkboxes? at coderanch

Cuestiones relacionadas