Ich habe an einem umfangreichen Javascript-Programm gearbeitet und eine Funktion zum dynamischen Erstellen von HTML-Tabellen entwickelt, indem ich ein Array nehme, das den Inhalt definiert, mit dem die Tabelle gefüllt wird. Ich möchte die Funktion aufrufen etwas wie folgt aussehen:Übergabe von Variablen innerhalb von Strings und Funktionen an eine andere Funktion
tableConstructor([
"<p>" + changingVariable + "</p>",
"<p>" + arrayOfData[changingVariable] + "</p>",
secondFunction(changingVariable),
"<button onclick='thirdFunction(" + changingVariable + ")'></button>"
]);
mit jeder Zeile sein Inhalt für eine andere Spalte in der Tabelle Ich schaffe.
Das Problem ist, dass die changingVariable
immer ausgewertet wird, bevor die Daten an die tableConstructor
-Funktion gesendet werden, so dass die gesamte Tabelle endet mit den gleichen Daten den ganzen Weg hinunter in jeder Spalte ausgefüllt wird.
Ich brauche die changingVariable
und die Funktion/Arrays, die changingVariable
verwenden, um zu bewerten, sobald sie innerhalb der tableConstructor
Funktion sind, aber nicht vorher. Weiß jemand, wie ich das zur Arbeit bringen könnte? Ich möchte, dass es für jede der oben genannten vier Beispielzeilen funktioniert. Hier ist, was ich habe bisher für die tableConstructor
Funktion selbst:
function tableConstructor (content) {
tableRows = [];
tableDowns = [];
for (i in arrayOfData) {
tableRows[i] = document.createElement("tr");
containerElement.appendChild(tableRows[i]);
for (changingVariable in content) {
tableDowns[tableDowns.length] = document.createElement("td");
tableRows[i].appendChild(tableDowns[tableDowns.length - 1]);
tableDowns[i * parseInt(content.length) + parseInt(changingVariable)].innerHTML = content[changingVariable];
}
}
}
Können Sie nicht eine Funktion übergeben, die die Daten im laufenden Betrieb als Parameter statt als Array generiert? – skypjack
Können Sie ein Beispiel geben, wie das funktionieren würde? – Nalax