Fermer plusieurs div grâce à un clic

peek59 -  
 peek59 -
Bonjour,

Sur une page j'ai plusieurs div avec un affichage dynamique dont les noms ont la syntaxe suivante : home-xx (xx étant l'id récupéré en BDD).
Grâce à un clic, je souhaiterai fermer tous les div dont le nom commence par "home" (ou la chaîne de caractère home est dans le nom).
Pour l'instant j'ai ce code qui me permet de faire apparaître ou disparaître un div correspondant grâce à un clic :

<div onClick="document.getElementById('home-<? echo $id; ?>').style.display=document.getElementById('home-<? echo $id; ?>').style.display=='none' ? '' : 'none'"><? echo $nom_produit; ?></div>

Merci d'avance pour votre aide
A voir également:

3 réponses

Utilisateur anonyme
 
Bonjour,

Est-ce que vous disposez d'un tableau avec les id de toutes les div ouvertes ?
0
peek59
 
Bonjour Zébulon,

Non, je n'ai pas de tableau avec les id mais je peux en en créer un si il le faut.
Pour info, je cherche actuellement une fonction javascript qui permettrait de reconnaître une partie de chaine de caractères (ici 'home') dans les noms des différents div.
J'ai trouvé ce bout de script que je pourrais adapté à mon script mais ça ne fonctionne pas...
('a[class^="bloc"]').hide();

Merci d'avance
0
Utilisateur anonyme
 
Ce ne serait pas du jquery ça ?

('a[class^="bloc"]').hide();
0
Utilisateur anonyme
 
Sinon si tu as un tableau des id, tu fais une boucle PHP pour construire ton onClick sur les éléments du tableau
0
peek59
 
Voilà où j'en suis, j'ai créé un tableau, une fonction mais ça ne marche pas.
J'ai créé un tableau avec 3 valeurs, valeurs partiels de nom de div que j'aimerai faire disparaitre au clic (les div "box-1", "box-3", "box-5"
Voici mon script ci-dessous :

<?
$tab_test = array("1", "3", "5");
?>


<script>
function afficheDepartement()
{
<?
for ($i=0; $i < count($tab_test); $i++)
{ //debut boucle
$v = $tab_test[$i];
?>
document.getElementById("box-" + <? echo $v; ?>).style.display == 'none';
<? 
} //fin boucle
?>
} 
</script>



<body>
<div onclick="afficheBox()"> cliquer ici</div>
<div id="box-1"> box 1</div>
<div id="box-2"> box 2</div>
<div id="box-3"> box 3</div>
<div id="box-4"> box 4</div>
<div id="box-5"> box 5</div>
</body>


Pouvez-m'aider pour rendre ce script valable ?

Merci d'avance
0