Hey vite...
Je ne parviens pas à supprimer ces foutues lignes créées par clic sur checkbox.
Je vous montre mon code, j'espère que vous trouverez, je sature complètement, je suis dans un mauvais jour de dev là...trèès mauvais...
Explication du problème:
Code : 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 function checkedOrNot (champ,id){<div style="margin-left:40px"> if (champ.checked==true) { <div style="margin-left:40px">AddRow("id_"+champ.name,champ.value);</div>} else { <div style="margin-left:40px">removeRow("id_"+champ.name);</div>}</div>} function AddRow(id, val){<div style="margin-left:40px"> var ligne = document.getElementById('id_chp_acc').insertRow(-1); ligne.id = id; cellule= ligne.insertCell(0); cellule.innerHTML = val; cellule.className = "td_controle"; applibg(cellule); cellule= ligne.insertCell(1); cellule.className = "td_statut"; cellule.innerHTML = "<img src='images/good.gif' />"; applibg(cellule);</div>} function removeRow(id){<div style="margin-left:40px"> var myTable=document.getElementById("id_table"); myTable.removeChild(document.getElementById(id));</div>}
C'est compliqué à expliquer sans vous montrer la page mais c'est pas possible alors voilà un petit schéma
checkbox 1
checkbox 2 coché
checkbox 3 coché
checkbox 4
checkbox 5 coché
ligne 2 affichée
ligne 3 affichée
ligne 5 affichée
Avec deleteRow, si je décoche le checkbox 2, c'est la ligne 3 qui sera supprimée et non pas la 2. J'ai plus de ligne et de checkbox que cet exemple, rien n'est possible avec un index.
C'est pourquoi j'utilise (en tout cas j'essaie...) les ID sur chaque lignes.
Ne cherchez pas les erreurs d'écritures genre le ";" ou autre, j'ai fais un vulgaire copier coller et j'ai arranger un peu le code pour qu'il soit plus compréhensible sans avoir à avoir les autres fonctions.
C'est ma formulation de suppression de la ligne (removeChild) qui déconne.
Mercii!
Partager