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
Partager