Anonyme Funktionen mit Variablenübergabe
AK-Palme
- javascript
Hi,
ich benutze gerne Anonyme Funktionen in Schleifen. Z. B.
while(b = z[i]){
row.appendChild(tCol(b.ID));
row.onclick = function (){
alert(b.ID); // Fehler hier
}
i++;
}
Das Ding ist, dass ich jetzt jedesmal die ID alerten will, die aktuell ist. Ich hab schon rumgespielt, es aber nur geschafft, dass alle Links die _letzte_ ID der Liste ausgeben.
Hat jemand einen Tipp für mich?
Danke,
AK-Palme
hi,
ich benutze gerne Anonyme Funktionen in Schleifen. Z. B.
while(b = z[i]){
row.appendChild(tCol(b.ID));
row.onclick = function (){
alert(b.ID); // Fehler hier
}
i++;
}Das Ding ist, dass ich jetzt jedesmal die ID alerten will, die aktuell ist. Ich hab schon rumgespielt, es aber nur geschafft, dass alle Links die _letzte_ ID der Liste ausgeben.
Beziehst du dich auf die ID des HTML-Elementes, welchem du diese onclick-Funktion zugewiesen hast? Die bekommst du innerhalb der Funktion über this.id.
Oder beziehst du dich auf eine "ID", die nur in der Schleife vorhanden ist?
Dann legst du diesen Wert entweder auch am Element mit ab - row.meineID = b.ID, in der Funktion this.meineID - oder du nutzt Closures (Zusammen mit author:molily ergiebiges Stichwort für Archivsuche).
gruß,
wahsaga
Hallo,
ich benutze gerne Anonyme Funktionen in Schleifen. Z. B.
while(b = z[i]){
row.appendChild(tCol(b.ID));
row.onclick = function (){
alert(b.ID); // Fehler hier
}
i++;
}Das Ding ist, dass ich jetzt jedesmal die ID alerten will, die aktuell ist. Ich hab schon rumgespielt, es aber nur geschafft, dass alle Links die _letzte_ ID der Liste ausgeben.
Speichere die ID jeweils als Eigenschaft des Objekts und greife dann per this darauf zu:
while(b = z[i]){
row.appendChild(tCol(b.ID));
row.b = b;
row.onclick = function (){
alert(this.b.ID);
}
i++;
}
mfg. Daniel
Danke, das wars :)
Danke, das wars :)
Wozu brauchst du überhaupt die ID?
Du hast doch bereits das Objekt.
Struppi.
Das ist nicht die ID des Objektes sondern eine die mittels Ajax empfangen wurde.
Hallo AK-Palme.
Bei 40°C.
Einen schönen Donnerstag noch.
Gruß, Math*scnr*ias
Das ist nicht die ID des Objektes sondern eine die mittels Ajax empfangen wurde.
im onclick Event der Reihe?
Struppi.