[DOM] Pour un tableau dynamique
Bonjour. J'essaie de réaliser un tableau dynamique qui ressemble pour le moment à ça :
http://img519.imageshack.us/img519/2...iquero8.th.jpg
Seulement, j'ai un petit soucis : c'est au moment où je veut insérer une ligne entre 2 autres qui existent déjà. Je sais pas comment faire. Donc si vous avez des idées pour me guider un peu, je prend :mrgreen: Merci d'avance.
Voici le code (j'ai utilisé insertRow() et insertCell() pour l'insertion d'une nouvelle ligne (et ses cellules) dans le tableau :
Code PHP
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| $cpt = 1;
echo "<table width = '550px' class = 'table_border' id = 'table_memoire' border=\"1\">
<tr>
<th>Article</th>
<th>Quantité</th>
<th>Libellé</th>
<th>Opérations</th>
</tr>
<tr>
<td width=\"100\"> <input type=\"text\" name=\"article\" size = '10' value = '".$cpt."'></td>
<td width=\"100\"> <input type=\"text\" name=\"quantite\" size = '10'></td>
<td><textarea name=\"libelle\" value=\"\" rows=\"5\" cols=\"25\"></textarea></td>
<td><input type=\"button\" value=\"Ajouter une ligne ---- CECI EST LA LIGNE SOURCE\" onClick=\"javascript:add_row(".$cpt."+1);\"><br/><input type=\"button\" value=\"Supprimer la ligne\" onClick=\"javascript:delete_row(".$cpt.");\"></td>
</tr>";
echo '</table>'; |
Code JS
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| // Fonction qui ajoute une ligne à un tableau
function add_row(cpt){
var newRow = document.getElementById('table_memoire').insertRow(cpt);
var newCell = newRow.insertCell(0);
newCell.innerHTML = '<input type="text" name="article" size = "10" value = "'+newRow.rowIndex+'">';
newCell = newRow.insertCell(1);
newCell.innerHTML = '<input type="text" name="quantite" size = "10">';
newCell = newRow.insertCell(2);
newCell.innerHTML = '<textarea name="libelle" value="" rows="5" cols="25"></textarea>';
newCell = newRow.insertCell(3);
cpt = newRow.rowIndex+1;
newCell.innerHTML = '<input type="button" value="Ajouter une ligne" onClick="javascript:add_row('+cpt+');"><br/><input type="button" value="Supprimer la ligne" onClick="javascript:delete_row();">';
} |