Liebe Forumsbenutzer,
bei der Suche nach einer Antwort auf meine Frage bin ich auf dieses Forum gestoßen. Doch der entsprechende Eintrag half mir nicht weiter und ich habe auch sonst keine passenden Einträge gefunden, sodass ich meine Frage selbst stelle. Wenn meine Frage in dieser Form dennoch schon beantwortet sein sollte, bitte mich einfach darauf hinweisen!
Ich möchte in einer Schleife eine Reihe von <div>s erzeugen, also wie folgt:
Das funktioniert gut. Nun sollen die divs als Button fungieren und eine gemeinsame Funktion aufrufen:
Auch das funktioniert. Jetzt aber soll jeder Button einen individuellen Wert in die Funktion bringen (und zwar den Wert Zaehler; der erste Button also den Wert 1, der nächste den Wert 2 usw.).
Das funktioniert nicht. Egal, welchen Button man nach dem Erstellen anklickt, wird der höchste Zaehler-Wert (also vom letzten Button, entsprechend der Anzahl aller Buttons) in die Funktion eingegeben.
Ich dachte, dass JS beim Durchlaufen der Schleife zum Beispiel beim vierten Button schreibt: <button onclick="Aktivitaet(4)"></button>. So würde der Wert für jeden Button passend gespeichert. Offenbar tut es das nicht, sondern lässt das onclick für jeden Button offen. Und am Ende, wenn Zaehler beim höchsten Wert angelangt ist, nutzen alle Buttons diese Zahl
Was ist die Lösung?
Ich benutze Mozilla Firefox, doch es wäre schön, wenn die Lösung für jeden (modernen) Browser geht. Vielen Dank im Voraus!
Johannes
bei der Suche nach einer Antwort auf meine Frage bin ich auf dieses Forum gestoßen. Doch der entsprechende Eintrag half mir nicht weiter und ich habe auch sonst keine passenden Einträge gefunden, sodass ich meine Frage selbst stelle. Wenn meine Frage in dieser Form dennoch schon beantwortet sein sollte, bitte mich einfach darauf hinweisen!
Ich möchte in einer Schleife eine Reihe von <div>s erzeugen, also wie folgt:
Code:
var Zaehler; var Anzahl = ...;
for (Zaehler = 1; Zaehler < Anzahl; Zaehler ++)
{var Knopf = document.createElement('div');
document.getElementById('UebergeordnetesElement').appendChild(Knopf);}
Code:
var Zaehler; var Anzahl = ...;
for (Zaehler = 1; Zaehler < Anzahl; Zaehler ++)
{var Knopf = document.createElement('div');
Knopf.onclick = function() {Aktivitaet()};
document.getElementById('UebergeordnetesElement').appendChild(Knopf);}
Code:
var Zaehler; var Anzahl = ...;
for (Zaehler = 1; Zaehler < Anzahl; Zaehler ++)
{var Knopf = document.createElement('div');
Knopf.onclick = function() {Aktivitaet(Zaehler)};
document.getElementById('UebergeordnetesElement').appendChild(Knopf);}
Ich dachte, dass JS beim Durchlaufen der Schleife zum Beispiel beim vierten Button schreibt: <button onclick="Aktivitaet(4)"></button>. So würde der Wert für jeden Button passend gespeichert. Offenbar tut es das nicht, sondern lässt das onclick für jeden Button offen. Und am Ende, wenn Zaehler beim höchsten Wert angelangt ist, nutzen alle Buttons diese Zahl
Was ist die Lösung?
Ich benutze Mozilla Firefox, doch es wäre schön, wenn die Lösung für jeden (modernen) Browser geht. Vielen Dank im Voraus!
Johannes
Zuletzt bearbeitet von einem Moderator: