1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| function derouleSousCat(listeFille,chkParent)
{
// on récupère les éléments nécessaires
var liste = document.getElementById(listeFille);
var listeChk = liste.getElementsByTagName("input"); // tous les input de la liste fille sélectionnée
// on masque toutes les listes de sous-catégories décochés
var elem = new Array("103", "3", "25", "30", "102", "34", "12", "13", "112", "15", "16", "17", "9", "21", "22"); // tableau généré par PHP
for (var i=0;i<elem.length;i++)
{
if (document.getElementById('categ_coches_' + elem[i]).checked) document.getElementById('fille_' + elem[i]).style.display = 'block'; // on affiche
if (!document.getElementById('categ_coches_' + elem[i]).checked) document.getElementById('fille_' + elem[i]).style.display = 'none'; // on masque
}
// on affiche la liste fille qu'il faut dérouler ou on la replie selon l'état de la checkbox mère
if (chkParent.checked) liste.style.display = "block";
else liste.style.display = "none";
// les input de la liste fille prennent le même statut que la checkbox mère
for (i=0; i<listeChk.length; i++) listeChk[i].checked = chkParent.checked;
// 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;
var h_max = Math.max(h_gauche, h_centre);
document.getElementById("bloc_gauche_wall").style.height = h_max + "px";
document.getElementById("bloc_centre").style.height = h_max + "px";
} |
Partager