Bonjour,
Je galère depuis un moment sur la valeur de mes checkbox....
Je m'explique, j'ai une liste de services qui est généré, et en cliquant dessus , ça m'ouvre une liste de personnes en rapport avec ce service ainsi qu'une case à cocher à cote de chaque personnes.(Les services et personnes sont en base de donnée bien sûr).
Et je souhaiterai avoir un bouton permettant de tout cocher ou tout décocher à cote de chaque services
Par exemple si j'ai :
-Service 1
-User 11
-User 52
-User 48
-Service 2
-Service 3
-User 41
-User 34
-User 22
-Service 4
J'ai le service 1 et 3 qui sont ouvert parce que j'ai cliqué dessus et je veux que le bouton du service 1 coche ou decoche tout les users du service 1, pareil pour le 3.
J'avais trouver à tout sélectionner mais ça prenais vraiment tout les users sans distinction de service... du coup je cris au secours
Voici mon code actuellement:
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 $liste_services = liste_services(); // SELECT * FROM EQUIPES, SERVICES foreach ($liste_services as $service){ echo $service['ID_SERVICE'].'- '; $id_service = $service['ID_SERVICE']; $liste_users_service = liste_users_service($id_service); //recupe liste users du service en cours dans user.php echo '<h7 id='.$service['ID_SERVICE'].' " onClick="show_hidden_users_service('.$service['ID_SERVICE'].');">'.$service['Nom_Service'].'</h7>  '; echo "<input type='button' id=BT_".$service['ID_SERVICE']." value='Tout cocher' onClick='cocher_decocher('div_".$service['ID_SERVICE']."','1');'>"; echo "<input type='button' id=BT_".$service['ID_SERVICE']." value='Tout décocher' onClick='cocher_decocher('div_".$service['ID_SERVICE']."','0');'><br>"; echo '<div id=div_'.$service['ID_SERVICE'].' style="display:none;">'; foreach ($liste_users_service as $user){ echo '<input type="checkbox" name= checkboxuser[]'.' id='.$user['ID_User'].' value='.$user['ID_User'].' ><label for="'.$user['ID_User'].'">'.$user['Nom'].' '.$user['Prenom'].' '.$user['PerID'].'____'.$user['Nom_Equipe'].' ____'.$user['Nom_Service'].'_____'.$user['ID_User'].' </label><br>'; } echo '</div>'; }
fonction show_hidden_users_service() :
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 function show_hidden_users_service(id_service){ if(document.getElementById('div_'+id_service).style.display == 'none'){ // alert ('coucou 1'); document.getElementById('div_'+id_service).style.display = 'block'; // document.getElementById('div_user_'+id_user).checked = true } else if (document.getElementById('div_'+id_service).style.display == 'block'){ // alert ('coucou 2'); document.getElementById('div_'+id_service).style.display = 'none'; } // alert ('coucou 5'); }
Et le code qui à mon avis bloque ...
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 // conteneur = id du bloc (<div>, <p> ...) contenant les checkbox // action = '0' pour tout décocher // action = '1' pour tout cocher // action = '2' pour inverser la sélection function cocher_decocher(conteneur, action) { var blnEtat=null; var Chckbox = document.getElementById(conteneur).firstChild; while (Chckbox!=null) { if (Chckbox.nodeName=="INPUT") if (Chckbox.getAttribute("type")=="checkbox") { blnEtat = (action=='0') ? false : (action=='1') ? true : (document.getElementById(Chckbox.getAttribute("id")).checked) ? false : true; document.getElementById(Chckbox.getAttribute("id")).checked=blnEtat; } Chckbox = Chckbox.nextSibling; } }
Si on pourrait m'orienter ça serait gentil, au fait je suis un peu novice donc m'engueulé pas si mon code veux rien dire
D'avance merci





).
Répondre avec citation



déplacé dans le bon forum.
Partager