[JavaScript] Lista rozwijana

0

Wiem, że na sieci jest mnóstwo skryptów, ale ja nie znalazłem takiego który by mi odpowiaał, bo są "przebajerzone", więc postanowiłem sam sobie napisać. Na JS się za bardzo nie znam i wyskakuje mi błąd mógłby mi ktoś podpowiedzieć co skaleczyłem?
O to co skrypt ma robić:
Na początek generować liste np.:
111
222
333

A po kliknięciu na np 111 powinien rozwinąć kolejny poziom:

111

111
222
333
222
333

jak się kliknie na 222 to zwija poziom 111 wprowadza poziom do 222.
Więc napisałem i się kaszani:
w ramach head mam pomiędzy znacznikami script


Menu = new Array();
Menu[0] = "111";
Menu[1] = "222";

podMenu = new Array();
podMenu[0] = "1111111";
podMenu[1] = "2222222";
podMenu[2] = "3333333";
podMenu[3] = "4444444";

function Menu() {
 var tekst = " ";
 for (x=0;x<thisMenu.length;x++){
  tekst += "<a href="javascript:rozwin('" + x + ");">" + thisMenu[x] + "</a><br>";
 }
 alert(tekst);
 document.write(tekst);
}

function rozwin(ktory) {
 var tekst = " ";
 for (x=0;x<thisMenu.length;x++){
  tekst += "<a href="javascript:rozwin(" + x + ");">" + thisMenu[x] + "</a><br>";
   if (x == ktory) {
    for (k=0;k<podMenu.length;k++){
     tekst += podMenu[k] + "<br>";
    }
  }
}
document.write(tekst);
}

a w body pomiędzy znacznikami script"

Menu()

I działa początek a później tylko raz rozwija i się kaszania.
Pomóżcie!

0

hmmm... a gdzie ty chcesz tę listę wyświetlać, jakieś pole select
czy po prostu na warstwie, bo dwa razy document.write się nie da wykonać, proponuję DHTML

0

Generalnie to chce ją wyświetlać w miejscu w którym się znajduje menu...
Nie jest to pole select ani nic innego, myślałem że to można bez problemu zmieniać za pomocą write, w miejsu wywołania skryptu.
DHTML odpada bo muszę elementy menu wygenerować z bazy, i założyłem że JS będzie lepszy bo wygeneruje plik z tablicami, programowo wrzucę do odpowiedniego katalogu a klient nie będzie ingerował w kod strony.
Czyli jak rozumiem nie ma możliwości bezpośrednio w body wywołać skrypt tylko odwoływać do jakiegoś obiektu?
A można wielokrotnie zmieniać zawartość komórki wtabeli?
Jeden skrypt który znalazłem i mi odpowiadał to działał na zasadzie przeładowania strony, a to zupełnie mi nie pasuje, bo jest to stratą czasu odwiedzającego, no i mógłbym napisać to językiem server-side...

0

rozumiem, wymyśliłem coś takiego, żeby wyświetlać wyniki z bazy
w htmlu i wykonać obsługę tagów przez js, tzn
trzeba się zastosować do schematu folder w postaci hiperłącza
i pod nim tag DIV który znowu zawiera kolejne foldery (hiperłącze)
a pod nimi tagi DIV i w nich następne i tak dalej...

coś jak to polewej na stronie głownej 4p ale bardziej rozbudowane

kod jest zbyt duży żeby wklejać, masz tutaj:
http://piechnat.iglu.cz/upload/testmenu.htm

będzie działać pod wszystkimi nowymi przeglądarkami
IE 5<, Mozilla 1<, NetScape 6<, Opera 7<

0

Trochę to zmodyfikowałem do swoich potrzeb i działa, dzięki wielkie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1