Compruebe si la casilla de verificación está marcada con jQuery

Resuelto Jake asked hace 14 años • 27 respuestas

¿Cómo puedo verificar si una casilla de verificación en una matriz de casillas de verificación está marcada usando la identificación de la matriz de casillas de verificación?

Estoy usando el siguiente código, pero siempre devuelve el recuento de casillas marcadas independientemente de la identificación.

function isCheckedById(id) {
    alert(id);
    var checked = $("input[@id=" + id + "]:checked").length;
    alert(checked);

    if (checked == 0) {
        return false;
    } else {
        return true;
    }
}
Jake avatar Feb 05 '10 07:02 Jake
Aceptado
$('#' + id).is(":checked")

Eso se consigue si la casilla de verificación está marcada.

Para una serie de casillas de verificación con el mismo nombre, puede obtener la lista de las marcadas de la siguiente manera:

var $boxes = $('input[name=thename]:checked');

Luego, para recorrerlos y ver qué está marcado, puede hacer:

$boxes.each(function(){
    // Do stuff here with this
});

Para saber cuántos están marcados puedes hacer:

$boxes.length;
John Boker avatar Feb 05 '2010 00:02 John Boker

Las identificaciones deben ser únicas en su documento, lo que significa que no debe hacer esto:

<input type="checkbox" name="chk[]" id="chk[]" value="Apples" />
<input type="checkbox" name="chk[]" id="chk[]" value="Bananas" />

En su lugar, suelte el ID y luego selecciónelos por nombre o por un elemento contenedor:

<fieldset id="checkArray">
    <input type="checkbox" name="chk[]" value="Apples" />

    <input type="checkbox" name="chk[]" value="Bananas" />
</fieldset>

Y ahora el jQuery:

var atLeastOneIsChecked = $('#checkArray:checkbox:checked').length > 0;
//there should be no space between identifier and selector

// or, without the container:

var atLeastOneIsChecked = $('input[name="chk[]"]:checked').length > 0;
nickf avatar Feb 05 '2010 00:02 nickf
$('#checkbox').is(':checked'); 

El código anterior devuelve verdadero si la casilla de verificación está marcada o falso en caso contrario.

Prasanna Rotti avatar May 31 '2012 09:05 Prasanna Rotti