javaquest
Mitglied
Registriert: 25.11.2006
Beiträge: 1
|
|
Moin zusammen! Bin schon länger am rumprobieren an einer Javascript Lösung, leider bin ich eher php,sql bewandt als Js... Hab folgendes Problem, vielleicht kann mir hier jmd etwas auf die Sprünge helfen:
ALso Ich hab eine DropDownBox, die mit Hilfe von Ajax, die Kategorien meiner Homepage ausliest.
http://img110.imageshack.us/img110/1416/kathi1.jpg
So kann man immer die Unterkategorien der aktuellen Kategorie sehen und auswählen. WIe man auf dem Bild erkennt hab ich auch eine "Zurück" Option eingebaut die auch gut funktioniert. Bloß das Problem ist jetzt die History oben, die den Pfad anzeigt...
http://img74.imageshack.us/img74/2742/katif1.jpg
Bräuchte da irgendwie eine Schleife, die die bis dato ausgewählten Optionen oben anzeigt und dann bei Zurück einen weniger nimmt... Versuchs schon die ganze Zeit, leider komm ich nicht drauf, obweohl es doch eigentlich gar nicht so schwer sein dürfte... Hier mal wie ichs mir überlegt hatte:
Code:
//nachschauen welchen Wert die ausgewählte Option hat...
DieOption = document.getElementById('optionen').value;
//Array erzeugen(nicht sicher, ob das so stimmt)
Text = new Array(Zahl);
//Da müsste man irgenndwie festlegen, dass Zahl bei 0 anfängt,
//aber man kann ja nicht einfach int Zahl = "0" machen, weil beim
//nächsten durchlauf ja Zahl immer noch den Wert vom letzten mal haben //muss...
Text[Zahl]= document.getElementById('optionen').innerHTML;
//Hatte mir das so vorgestellt, dass dann Text[0] Hauptkategorie ist, Text[1] die erste
//Unterkategorie usw...
//Wenns nicht zurück ist normal vom ersten Text bis zum letzten durchlaufen lassen
if (DieOption != "Back"){
for (i=0;i<Zahl;i++){
vorher = document.getElementById('optionen').innerHTML;
document.getElementById('optionen').innerHTML = vorher+" -> "+ Text[i];
}
//Wenns zurück ist Zahl um 2 Text[] kürzen
// einmal, damit die aktuell ausgewählte Kategorie nicht gelistet wird
// EIn zweites mal für eins zurück...
elseif (DieOption == "Back"){
Zahl = Zahl-2;
for (i=0; i<Zahl; i++){
vorher = document.getElementById('optionen').innerHTML;
document.getElementById('optionen').innerHTML = vorher+" -> "+ Text[i] ;
}
}
//Hier wird die Zahl für den nächsten durchlauf schon um 1 erhöht,
// das der nächste Text[Zahl] belegt werden kann
//Weiß aber nicht, ob die im <Head> gespeichert wird...
++Zahl; |
Leider funktioniert das so oder so ähnlich(Hab schon ein paar varianten durch) nicht, weiß aber auhc nciht genau obs an irgendwelchen syntax fehlern oder generellen fehlern liegt, weils ja bei Fehlern einfach nur abbricht...
Vielleicht hat ja jmd ne idee, die mir weiterhelfen könnte... thx
Beitrag geändert von javaquest (25.11.2006 14:29:19)
|
|
| 25.11.2006 14:26:57 |
|
Wechsel zu
Die letzten Beiträge aus diesen Forum
|
|