Fermer plusieurs div grâce à un clic

Fermé
peek59 - 12 avril 2011 à 19:13
 peek59 - 14 avril 2011 à 19:13
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
13 avril 2011 à 08:05
Bonjour,

Est-ce que vous disposez d'un tableau avec les id de toutes les div ouvertes ?
0
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
13 avril 2011 à 09:36
Ce ne serait pas du jquery ça ?

('a[class^="bloc"]').hide();
0
Utilisateur anonyme
13 avril 2011 à 09:37
Sinon si tu as un tableau des id, tu fais une boucle PHP pour construire ton onClick sur les éléments du tableau
0
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