Hallo,
ich habe folgendes Problem, ich möchte aus einem array[][] ein Menue aufbauen, das durch document.appendChild(XY) die entsprechenden MenuePunkte einfügt, diese menuepkte öffnen wiederum weitere MenuePkte...
Die erste Reihe von Links zu erstellen ist kein Problem, aber die Übergabe des MenuePktes für das 2. Menue bekomme ich nciht hin.
Das beste Resultat war, dass die 2. Fkt 'Display()' den Wert übergeben bekommen hat, aber es wegen dem Array und der For-Schleife immer nur die letzte Zelle vom Array war, egal welchen Pkt man anklickt.
--> der index ist schon durchgelaufen bevor man auf die Menuepkte klickt... aber wie kann ich das beheben?
kleine skizze:
land1
land2 --> |bau
land3 |wirtschaft
|kultur
Vielen Dank in vorraus....
Daniel
<html><head><title>Test</title>
<script type="text/javascript">
<!--
// die erste Menueliste wird erstellt:
function dat () {
surce = "land1; bau; 3; wirtschaft; 1; kultur; 2;#" +
"land2; bau; 1; wirtschaft; 2; kultur; 2;#" +
"land3; bau; 0; wirtschaft; 2; kultur; 1;#";
//teilt variable surce in ein 2-Dim Array....
surce = surce.split("#");
for(i = 0; i < surce.length; i++){
surce[i] = surce[i].split(";");
// alert(i + ": " + surce[i][0] + ": " + surce[i][1]);
}
//erste Menueliste wird aufgebaut...
for(i=0; i < surce.length -1; i++){
link = document.createElement("a");
// var link2 = document.createTextNode("display(surce[i][0])");
// link.setAttribute("href", surce[i][0]);
// alert(surce[i][0]);
link.setAttribute("onclick", "display(surce[i][0])");
link.appendChild(document.createTextNode(surce[i][0]));
document.getElementsByTagName('div')[0].appendChild(link);
document.getElementsByTagName('div')[0].appendChild(document.createElement("br"));
}
}
function display(dat){
alert(dat);
// ......hier sollte dann das 2. Menue definiert werden, wenn die Übergabe // funktionieren würde. aehnlich wie unter dat()
}
-->
</script>
</head>
<body onload="dat()">
<a onclick="display('test')">ajde</a>
<div id="d" style="position: absolute; left: 300px; top: 120px; visibility: visible; border-style:solid;">test<br><br></div>
</body></html>