Autor |
Nachricht |
veronika
Threadersteller
Dabei seit: 08.08.2005
Ort: Linz
Alter: 39
Geschlecht:
|
Verfasst Di 25.03.2008 10:24
Titel [der richtige weg] dynamisch erzeugte <tr>s ein/ausble |
|
|
hallo freunde der blasmusik!
folgendes problem: ich habe eine riesige tabelle (die dynamisch erzeugt wird - es handelt sich um die auflistung von configurationseinstellungen, es muss also rein semantisch wirklich eine tabelle sein).
die tabelle hat tr s, in denen sich ein link befindet, der unter dieser tr elemente anzeigt (einfach nur mit display="" und display="none"). bisher war das so gehandhabt, dass unter einer solchen tr (in einer tr) eine weitere table aufgeht, die wieder beliebig viele trs haben kann, die wiederum tabellen enthalten können, usw.
das problem bei dieser vorgehensweise ist, das bei häufiger verschachtelung die verschatelten tabellen immer weiter nach innen wandern und die daten nicht mehr schön untereinander stehen.
ich hab mir das jetzt so überlegt, dass diese ganze verschachtelung eigentlich nicht sein müsste, und unter einer tr der ersten ebene wird einfach wieder eine tr eingefügt, die laut html nicht verschachtelt ist, aber eine class bekommt, die darauf schließen lässt, dass wir uns in der 2. ebene befinden und die ansicht wird über css verändert.
so weit so gut - sehr viel weniger html, übersichtlicher quellcode und wär ja alles friede freude eierkuchen... wenn da nicht noch das ein- und ausblenden wäre...
wenn ich nun elemente bis in die 3. unterbene sichtbar klicke geht ja alles noch - schließe ich nun aber die oberste ebene, so verschwinden die fake childs in der 2. ebene - die dritte (und alle darunter) sind aber noch sichtbar, da sie ja nicht wirklich verschachtelt sind sondern die baumstruktur nur von den IDs und CLASSen her rührt.
bin ich da generell am holzweg? soll ich doch wieder zig tabellen in einander verschachteln? was ist denn hier schlauer?
|
|
|
|
|
Skyw4lker
Dabei seit: 30.08.2004
Ort: Bergisch Gladbach
Alter: 43
Geschlecht:
|
Verfasst Di 25.03.2008 11:44
Titel
|
|
|
Das heisst Ebene 1 weiß, dass unter ihr noch Ebene 2 existiert? Das hieße ja, daß Ebene 2 weiß, dass eine dritte da ist oder? Wenn du mit Javascript durch die Ebenen läufst und schaust ob sie noch Kinder haben müsstest du sie doch iterativ ausblenden können bis du im Blatt deines gefaketen Baums angekommen bist.
|
|
|
|
|
Anzeige
|
|
|
veronika
Threadersteller
Dabei seit: 08.08.2005
Ort: Linz
Alter: 39
Geschlecht:
|
Verfasst Di 25.03.2008 13:23
Titel
|
|
|
ich hab eine toggle funktion, die in jede tr eingefügt wird, die "childs" hat - nur passiert das in pearl, nicht in javascript.
im javascript selbst weiß ich also nicht ob da noch was kommt.. das ist ja das problem.
ich kann mich ja auch nicht mit nextSibling() weiterhangeln, weil ich ja nicht weiß, wann die "verschachtelung" zu ende wäre...
|
|
|
|
|
Skyw4lker
Dabei seit: 30.08.2004
Ort: Bergisch Gladbach
Alter: 43
Geschlecht:
|
Verfasst Di 25.03.2008 13:37
Titel
|
|
|
ich glaub ich hab ne idee, muss mal eben was probieren, moment
|
|
|
|
|
Skyw4lker
Dabei seit: 30.08.2004
Ort: Bergisch Gladbach
Alter: 43
Geschlecht:
|
Verfasst Di 25.03.2008 14:10
Titel
|
|
|
Code: | <html>
<head>
<script type="text/javascript" language="JavaScript">
function toggleDiv( divID )
{
var rows = document.getElementById( 'rootTable' ).rows;
for(var i = 0; i < rows.length; i++)
{
if(rows[i].id.indexOf(divID) != -1 && rows[i].id.indexOf(divID) == 0)
{
if("none" == document.getElementById( rows[i].id ).style.display)
document.getElementById( rows[i].id ).style.display = "";
else
document.getElementById( rows[i].id ).style.display = "none";
}
}
}
</script>
</head>
<body>
<table id=rootTable border=1>
<tr id=1 onclick="toggleDiv('1-'); return false;">
<td>ebene1</td>
</tr>
<tr id=1-1 onclick="toggleDiv('1-1-'); return false;">
<td>ebene2</td>
</tr>
<tr id=1-1-1>
<td>ebene3</td>
</tr>
<tr id=1-1-2>
<td>ebene3</td>
</tr>
<tr id=1-1-3>
<td>ebene3</td>
</tr>
<tr id=1-2>
<td>ebene2</td>
</tr>
</table>
</body>
</html> |
Wenn du hier die IDs dynamisch aus deinem Pearlscript füllst, müsste das funktionieren. Ist der Aufbau der Nummerierung verständlich? Wenn nicht einfach fragen.
// grad nochn bug entdeckt, moment
Zuletzt bearbeitet von Skyw4lker am Di 25.03.2008 14:16, insgesamt 1-mal bearbeitet
|
|
|
|
|
veronika
Threadersteller
Dabei seit: 08.08.2005
Ort: Linz
Alter: 39
Geschlecht:
|
Verfasst Do 03.04.2008 12:29
Titel
|
|
|
hm.. also bei mir haut das nicht hin, bzw besteht genau das gleiche problem damit, dass das ja nicht pseudo-rekursiv ist?
bist du noch aufn grünen zweig gekommen?
Zuletzt bearbeitet von veronika am Do 03.04.2008 12:34, insgesamt 1-mal bearbeitet
|
|
|
|
|
|
|
|
Ähnliche Themen |
FLASH dyn. erzeugte Elemente aus Hauptzeitleiste formatiere
Deutschlandkarte Dynamisch?
Link dynamisch erstellen
DIVs dynamisch anordnen
[html] framehöhe dynamisch?
DIV dynamisch ausdehnen (html)
|
|