(reprise du message précédent)
C'est grâce a cette ligne:
la variable "check" prendra true si la fonction est appelé au cochage, et false si elle est appelé au décochage, et ça répercute sur toutes les autres checkbox.
En effet, dans ton cas c'est nécessaire, car comme tu a besoin de savoir quel est le numéro précis de la checkbox, si elles ne sont pas toutes envoyée, les numéros ne correspondront plus...
ensuite tu met un onclick="plustoutouplusrien(this)" sur l’élément qui est dans ta boucle PHP, et c'est bon.(pas testé mais a priori ça doit le faire)
Modifié par JJK801 (22 Jun 2012 - 21:10)
jytest a écrit :
Ton script JS coche bien toutes les checkboxes, quand on clique sur "toutes les pages"
... Mais pour le décochage de "toutes les pages" cela se passe comment ?
Apparemment cela est intégré dans cette fonction. Mais pourquoi cela ?
C'est grâce a cette ligne:
var check = element.checked; // On défini l'état a mettre aux checkboxes
la variable "check" prendra true si la fonction est appelé au cochage, et false si elle est appelé au décochage, et ça répercute sur toutes les autres checkbox.
jytest a écrit :
Afin de retenir les checkbox cochées, au rechargement de la feuille,
j'ai rajouté l'indice $num... comme ceci :
<input type="checkbox" name="clics[<?php echo $num; ?>]" <?php echo (isset($_POST['clics'][$num])?"checked='checked'":""); ?> id="<?php echo $id; >">
En effet, dans ton cas c'est nécessaire, car comme tu a besoin de savoir quel est le numéro précis de la checkbox, si elles ne sont pas toutes envoyée, les numéros ne correspondront plus...
jytest a écrit :
Toujours en JS,
je souhaiterais que quand on clique sur "toutes les pages",
toutes les pages se cliquent. Là, c'est déjà ok !
Mais, soyons fous, quand je déclique alors sur l'une ou l'autre des pages,
j'aurais souhaité que "toutes les pages" se déclique tout seul !!!
par la fonction "plustoutouplusrien(ind)"...
Et si, on coche toutes les 18 pages,
comment faire en sorte que la checkbox "toutes les pages" soit automatiquement cochée ?
function plustoutouplusrien(element) {
var elements = element.form.elements; // On selectionne les elements du formulaire
var elementToutOuRien = elements[0]; // On défini l'element "Tout ou rien" (le premier)
var check = true; // Par défaut le "tout ou rien" doit être coché
for(var k = 1; k < elements.length; k++) // On commence à 1 pour ne pas tenir compte du "Tout ou rien"
{
if( ( elements[k].type == "checkbox" ) && !elements[k].checked ) // On tient compte que des checkbox non cochée
{
check = false; // Si une des checkbox est décoché, on décoche le "Tout ou rien"
break; // On arrête la boucle
}
}
elementToutOuRien.checked = check; // On défini si le "Tout ou rien" est coché ou non
}
ensuite tu met un onclick="plustoutouplusrien(this)" sur l’élément qui est dans ta boucle PHP, et c'est bon.(pas testé mais a priori ça doit le faire)
Modifié par JJK801 (22 Jun 2012 - 21:10)