Casillas de verificación jQuery

votos
11

Intento escribir un fragmento de código jQuery donde, si todas las casillas de verificación están desmarcadas, todas las etiquetas li tienen la clase deshabilitada.

Pero, si una casilla de verificación (cualquier casilla de verificación) está marcada, entonces todas las etiquetas [li] pierden la clase deshabilitada.

¡Muchas gracias!

Publicado el 21/07/2009 a las 17:19
fuente por usuario
En otros idiomas...                            


4 respuestas

votos
15

$(':checkbox').click(function () {
    $('li').toggleClass('disabled', !$(':checkbox:checked').length);
});
Respondida el 21/07/2009 a las 17:23
fuente por usuario

votos
1
$(':checkbox')
    .click(
        function() 
        { 
            $('li').toggleClass('disabled', $(':checkbox :checked').length <= 0));
        }
     );

EDITAR: Gracias Ken por señalar el método toggleClass.

Respondida el 21/07/2009 a las 17:26
fuente por usuario

votos
5

Ligera modificación de RaYell's, que incluirá casillas de verificación añadidas dinámicamente:

$(':checkbox').live('click', function () {
    $('li').toggleClass('disabled', !$(':checkbox:checked').length);
});
Respondida el 21/07/2009 a las 17:29
fuente por usuario

votos
8

Me encontré con este post por accidente y pensé que iba a añadir mi chelín vale la pena:

jQuery(':checkbox').click(function()
{
    if (jQuery(this).is(':checked'))
    {
        alert("Checked");
    }
    else
    {
        alert("Unchecked");
    }
});
Respondida el 28/01/2011 a las 10:56
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more