Masquer des lignes dans une table générée en PHP en fonction d'une variable à passer dans une fonction JS.
Hello,
Voici mon problème. J'affiche dans une boucle php une table avec des lignes "parent" et des lignes "enfant". J'aimerai masquer/afficher ces dernières en cliquant sur la ligne "Parent" (genre bouton +).
Je part du code suivant que j'ai trouvé sur le net.
Code:
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
| <html>
<head>
<script>
function toggle(thisname) {
tr=document.getElementsByTagName('tr')
for (i=0;i<tr.length;i++){
if (tr[i].getAttribute(thisname)){
if ( tr[i].style.display=='none' ){
tr[i].style.display = '';
}
else {
tr[i].style.display = 'none';
}
}
}
}
</script>
</head>
<body>
<table border="1">
<tr>
<td><span onClick="toggle('name');">Parent row</span></td>
</tr>
<tr name="fred1">
<td>child row1</td>
</tr>
<tr name="fred2">
<td>child row2</td>
</tr>
</table>
</script>
</body>
</html> |
Le problème avec ce code c'est qu'il me masque toutes lignes à masquer (ici child row 1 et 2). J'aimerai pouvoir passer par une variable quelles lignes j'aimerai masque/voir.
Pour illustrer voici le code que j'utilise dans ma page avec la fonction toggle. Chaque ligne à afficher possède un identifiant (ici $ID) et Type (ici $ElementType):
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| while(....
if ($ElementType=='child')
{
echo "<tr name='hide$ID'>";
}
else
{
echo '<tr bgcolor="'.$color.'" style="height:25px">';
}
if ($ElementType=='parent')
{
$name='hide'.$ID;
?>
<td class="calc-l"><span class="Style4"><span onClick="showhide('$name');">
<?php
echo $name.'</span></span></td>'; |
Comment modifier la fonction/code php pour que cela fonctionne ?
Merci d'avance