Bonjour,
J'ai 3 groupes de cases à cocher chk[]. Pour chacun des groupes j'ai une case à cocher chkAll qui force à cocher toutes les cases à cocher de son groupe et lorsqu'elle est décochée vide toutes les cases de ce groupe. Si une case quelconque du groupe est décochée, la case chkAll est automatiquement décochée.
Maintenant, je voudrais que si toutes les cases du groupe sont cochées la case chkAll soit automatiquement cochée mais je ne vois pas comment faire.
Extrait du code HTML
Code js : 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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 const chkAll = document.querySelectorAll("[name*='chkAll']") ,chk = document.querySelectorAll("[name*='chk']") ; var sum = []; if(chkAll.length){ chkAll.forEach(function(curChk, index){ curChk.addEventListener('change', function(e){ switch(e.target.value){ case 'customers': for(let i=0; i<13; i++){ chk[i].checked = curChk.checked; } break; case 'infos': for(let i=14; i<18; i++){ chk[i].checked = curChk.checked; } break; case 'employees': for(let i=19; i<28; i++){ chk[i].checked = curChk.checked; } break; } }, false ); }); } if(chk.length){ chk.forEach(function(curChk, index){ curChk.addEventListener('change', function(e){ let n; if(index<13) n=0; else if(index>18) n=2; else n=1; if(curChk.checked == false){ chkAll[n].checked = false; } }, false ); }); }
Code html : 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 <fieldset><legend>Données du fichier adresses</legend> <label><input type="checkbox" name="chk[]" value="c.id"><span>Identifiant client</span></label><br> <label><input type="checkbox" name="chk[]" value="c.company_name"><span>Société cliente</span></label><br> <label><input type="checkbox" name="chk[]" value="c.company_fullname"><span>Complément</span></label><br> <p> <label><input type="checkbox" name="chkAll" value="customers"><span>Sélectionner tout le cadre</span></label><br> </p> </fieldset> <fieldset><legend>Données du fichier interlocuteurs</legend> <label><input type="checkbox" name="chk[]" value="e.gender"><span>Civilité</span></label><br> <label><input type="checkbox" name="chk[]" value="e.title"><span>Titre</span></label><br> <label><input type="checkbox" name="chk[]" value="e.firstname"><span>Prénom</span></label><br> <p> <label><input type="checkbox" name="chkAll" value="employees"><span>Sélectionner tout le cadre</span></label><br> </p> </fieldset>
Partager