Bonjour, je travaille actuellement sur un moteur de recherche de v�tements. J'ai ue liste de cat�gories , toutes reli�es � des checkboxs pour les activer et � une liste de sous-cat�gories. Je voudrais que quand on coche une cat�gorie, la liste de sous-cat�gories correspondante se d�roule. Voici donc mon code, qui marche sous FF mais pas IE
La fonction Javascript
Et un bout de ma page HTML (... pour dire qu'il y a d'autres cat�gories construites de la m�me mani�re) :
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 function derouleSousCat (ul,checkbox) { // on masque toutes les listes de sous-catégories elem = document.getElementsByClassName('cat_fille'); for (i=0;i<elem.length;i++) { elem[i].style.display = 'none'; } // on coche toutes les sous-catégories concernées ch = document.getElementsByName(checkbox) for (i=0;i<ch.length;i++) { if (!ch[i].checked) ch[i].checked = true; } // on affiche celle qu'il faut dérouler document.getElementById(ul).style.display = 'block'; // puis on équilibre les hauteurs au cas ou var h_gauche = document.getElementById("bloc_gauche_wall").clientHeight; var h_centre = document.getElementById("bloc_centre").clientHeight; if (h_gauche > h_centre) document.getElementById("bloc_centre").style.height = h_gauche + "px"; else document.getElementById("bloc_gauche_wall").style.height = h_centre + "px"; }
PS : je mets l'�v�nement onchange pour g�rer l'appel de ma fonction, mais �a ne devrait pas poser de probl�mes, alors je me dis que peut-�tre c'est la fonction getElementsByClassName qui n'existe pas...
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <ul class="cat_mere"> <li><input type="checkbox" name="categ_coches[]" id="categ_coches_103" value="103" onchange="derouleSousCat('fille_103','ss_categ_103_coches[]')" /> <label for="categ_coches_103">Accessoires</label> <ul class="cat_fille" id="fille_103"> <li><input type="checkbox" name="ss_categ_103_coches[]" id="ss_categ_coches_1" value="1" /> <label for="ss_categ_coches_1">Bonnets - Gants</label></li> <li><input type="checkbox" name="ss_categ_103_coches[]" id="ss_categ_coches_2" value="2" /> <label for="ss_categ_coches_2">Echarpes - Foulards</label></li> <li><input type="checkbox" name="ss_categ_103_coches[]" id="ss_categ_coches_3" value="3" /> <label for="ss_categ_coches_3">Ceintures</label></li> <li><input type="checkbox" name="ss_categ_103_coches[]" id="ss_categ_coches_4" value="4" /> <label for="ss_categ_coches_4">Gifts</label></li> </ul> </li> ...... </ul>
Partager