You are not logged in.

  • Login

1

Thursday, March 3rd 2011, 3:14pm

Mit Javascript hierarchische Liste aus Arrays erstellen.

Hallo liebe Leute

ich habe ein Array was wie folgt aussieht:

JavaScript Code

1
2
3
4
5
6
7
8
9
10
var vorhanden = new Array();
vorhanden["KartenID"] = new Array();
vorhanden["Themengebiet"] = new Array();
vorhanden["Teilgebiet"] = new Array();
vorhanden["Buch"]= new Array();
vorhanden["Kapitel"] = new Array();
vorhanden["Wissensstufe"] = new Array();
vorhanden["Titel"] = new Array();
vorhanden["Frage"] = new Array();
vorhanden["Antwort"] = new Array();


Dort sind dann im "inneren" Array die Karteikarten gespeichert. Also vorhanden["Themengebiet"][0] ist das Themengebiet in das die erste Karteikarte gehört.


Jetzt würde ich gerne eine Liste machen wie folgt:

HTML Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<ul>
<li>Themengebiet 1</li>
<ul>
<li>Teilgebiet 1</li>
<ul>
<li>Buch 1</li>
<ul>
<li>Kapitel 1</li>
<ul>
<li>Titel 1</li>
<li>Titel 2</li>
</ul>
<li>Kapitel 2</li>
<ul>
<li>Titel3</li>
</ul>
</ul>
</ul>
</ul>
</ul>



Also hierarchisch geordnet


Ich habe dann eine Stunde an verschachtelten for-Schleifen gesessen, die dann aber unter jedem Unterpunkt den Unterunterpunkt aller Karteikarten gesetzt haben. (hoffe ihr versteht was ich meine, auf jeden Fall war es vergeudete Zeit)


Jetzt habe ich folgenden Ansatz mit jQuery:


JavaScript Code

1
2
3
4
5
6
7
8
9
10
11
12
for(var i=0; i < vorhanden["KartenID"].length; i++){
var kinder=$("#ListeVorhandeneKarteikartenKarteierstellung").children();
 
for(var j=0;j <= kinder.length;j++) {
var enkel=kinder[j].children();
alert (enkel);
if(enkel.html()==vorhanden["Themengebiet"][i]){themengebietgibtesschon=1;}
}
if(themengebietgibtesschon==0){
$("#ListeVorhandeneKarteikartenKarteierstellung").append("<li id=\"ListeVorhanden" + vorhanden["Themengebiet"][i] + "\">" + vorhanden["Themengebiet"][i] + "</li>")
}else{themengebietgibtesschon=0;}
}



Funktioniert aber nicht. (Ja das wären bis jetzt nur die Themengebiete (aber nicht doppelt). Aber in meinem Kopf herrscht gerade Kuddelmuddel


habt ihr vielleicht iene Idee? Am Besten einen ganz einfachen neuen Ansatz :-D

2

Thursday, March 3rd 2011, 11:52pm

So ich habe es gelöst mit einer sehr umständlichen verschachtelung von Schleifen und Abfragen.

Falls jemand eine andere Lösung kennt wäre es noch nett, aber es klappt auch so! Danke

Social bookmarks