Checkbox: Seleccionar, deseleccionar todos

Sé que hay muchos ejemplos, guias etc sobre como seleccionar o deseleccionar checkbox en una página web con javascript, pero pocos hacen referencia a hacer una función un poco más generica donde abarque tanto el nombre del formulario, el nombre de elementos a seleccionar y la casilla «todos» también con checkbox.

Tenemos 2 funciones javascript, una que se encarga de seleccionar todos los «checkbox» y la otra función que se encarga de verificar si permanece seleccionado nuestro checkbox que selecciona «todos»:

function checkElements(form, elementAll, elementToCheck) {
    var form, checkbox = form.elements[elementToCheck];
    totalElements = checkbox.length;
    checkboxAll = form.elements[elementAll];

    for(var n=0; n<totalElements; n++) {
        checkbox[n].checked = checkboxAll.checked;
    }
}

function checkElementAll(form, elementAll, elementCheck) {
    var form, counter=0;
    checkbox = form.elements[elementCheck];
    checkboxAll = form.elements[elementAll];
    totalElements = checkbox.length;

    for(var n=0; n<totalElements; n++) {
        if (checkbox[n].checked == true) counter++;
    }
    if (totalElements > counter)
        checkboxAll.checked = false;
    else
        checkboxAll.checked = true;
}

Y un ejemplo de formulario sería algo como lo siguiente:

<form name="nombreFormulario" method="post" action-xhr="#">
    <p><input type="checkbox" name="selecciona_todos" >

🙂

TolerantX

Compartir
Publicado por
TolerantX

Entradas recientes

Sublime Text

Después de manejar varios IDEs ó editores de texto para mi trabajo diario como: Dreamweaver…

12 años hace

¿Qué es ACTA?

Ahí les va para que vean de que se trata. [youtube L99sWP-jSyQ]

13 años hace

Obsolencia programada

Muy interesante video sobre la obsolencia programada. [youtube QosF0b0i2f0]

14 años hace

Multiples cuentas gmail en el mismo navegador

Bien como el título lo dice, para mi es una lata estar cambiandome de cuentas…

14 años hace

Google lanza plugin que soporta video y voz en Gmail sobre Linux

Google está lanzando el plugin que permite el uso de video y voz en el…

15 años hace

Una forma de decir hasta luego

Hoy se cierra una etapa de mi vida, un ciclo que en realidad no esperaba…

15 años hace