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