Bonjour à tous
Découvrant JS et le DOM, je me hasarde à poster un message sur ce haut lieu de la connaissance du développement, que j'ai grandement eu l'occasion d'apprécier et parcourir dans les mois et années passées à la conception de logiciels.
Je me mets aujourd'hui au web (comme tout un chacun), au php, frameworks et autres outils, et me pose une question concernant l'imbrication dynamique d'une table html dans une cellule d'une ligne sélectionnée.
Du genre :
Ma table existante (je passe sur les cellules TD):
TABLE id=grid
THEAD
TBODY id=gbody
TR id=tr0
TR id=tr1
TR id=tr2
TR id=tr3
TFOOT
1ère étape : en cliquant sur le TR id=tr1, j'ai obtenu l'insertion d'une ligne d'id=S_TR1 sous la ligne sélectionnée, avec 2 TD, avec la méthode InsertRow.
2ème étape : je voudrais maintenant intégrer un ensemble TABLE/THEAD/TBODY/TR/TFOOT dans la seconde TD de cette nouvelle ligne pour en faire une sous-table, mais je n'y parviens pas. Pas encore assez féru dans ce monde sûrement.
Voici le code utilisé :
Ma question donc : est-ce réalisable ? si oui, quelqu'un pourrait-il me guider vers la méthode à utiliser ? où encore me conseiller un ouvrage traitant de ce sujet ?
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 function addTable(row){ orig=document.getElementById(row); empty=document.getElementById('empty'); var iL = parseInt(row.rowIndex) + 1; var tr = document.getElementById('grid').insertRow(iL); tr.setAttribute('id','s_'+row.id); var td = tr.insertCell(0); td.setAttribute("colspan",2); td.setAttribute("style", "border-bottom:0px;border-top:0px;"); var td = tr.insertCell(1); td.setAttribute("colspan",7); newtable=document.createElement("TABLE"); newtbody=document.createElement("TBODY"); newtr=document.createElement("TR") newtd=document.createElement("TD"); newtxt=document.createTextNode("Détail du LOT DE PLAQUES"); newtd.appendChild(newtxt); newtr.appendChild(newtd); newtbody.appendCHild(newtr); newtable.appendChild(newtbody); newtable.setAttribute('id','subgrid'); td.appendChild(newtable); return; }
Je conviens que ce genre de question n'a sûrement que peu ou pas d'intérêt pour les aficionados du JS et qu'il existe probablement des bibliothèques qui réalisent ce genre de travail, mais je souhaite avant tout apprendre et comprendre comment cela fonctionne et je ne trouve pas d'éléments sur le net qui m'aiguille sur cette voie (ou alors j'ai loupé un passage).
Alors d'avance je vous adresse un grand merci pour l'aide, pour toutes les suggestions et conseils que vous voudrez bien m'apporter sur ce sujet.
Cordialement
JiheL
Partager