Bonjour,
J'ai un treeview avec des menus cachés qui marche très bien.
Le problème est que quand j'arrive sur la page tout le menu est déployé alors que je souhaiterais ne voir que le 1er niveau par défault.
Une idée?
Merci,
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 function afficher_menu($parent, $niveau, $array) { $i=0; $html = ""; $niveau_precedent = 0; if ($niveau%2 == 0) $fa = "fa fa-caret-right"; else $fa = "fa fa-long-arrow-right"; // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ if (!$niveau && !$niveau_precedent) $html .= "\n<ul>\n"; foreach ($array as $noeud) { $idMenu = $noeud['id']; if ($parent == $noeud['idParent']) { if ($niveau_precedent < $niveau) $html .= "\n<ul style=\"display:block;\">\n"; $html .= "<li>\n" . "<a onclick=\"javascript: showMenu(document.getElementById('menu$i'));\" style=\"cursor:pointer;\"><span class=\"$fa\"></span>" . " " . $noeud['libelle'] . " " . $noeud['id'] . "-" . $noeud['idParent'] . "</a>"; $niveau_precedent = $niveau; $html .= "<span id=\"menu$i\">" . afficher_menu($noeud['id'], ($niveau + 1), $array) . "</span>"; } $i++; } if (($niveau_precedent == $niveau) && ($niveau_precedent != 0)) $html .= "</ul>\n</li>\n"; else if ($niveau_precedent == $niveau) $html .= "</ul>\n"; else $html .= "</li>\n"; return $html; } ?> <script type="text/javascript"> function showMenu(menu) { if (menu.style.display == 'none') menu.style.display = 'block'; else menu.style.display = 'none'; } </script>
Partager