Ich habe diesen Code, der eine Tabelle mit 7 Spalten erstellt.Hinzufügen <select> innerhalb von
Die Tabelle zurückgibt, wie folgt aus:
[1] [2] [3] [4] [5] [6] [7] < < headers
[1] [2] [3] [4] [5] [6] [7] < < Werte
Wo die 7. Spalte eine <a>
Taste innerhalb eines <td>
.
Ich versuche herauszufinden, wie Sie eine <select>
mit <option>'s
innerhalb der 6. Spalten <td>
hinzufügen.
//create table
var artistFileValues = artistFile.getDataRange().getValues();
var isHeader = true;
var table = "<table id='table-noValues'>\n";
var caption = "<caption>" + name + "</caption>\n";
table += caption;
for (var i = 0; i < artistFileValues.length; i++)
{
table += "<tr>\n";
for (var j = 0; j < artistFileValues[i].length; j++)
{
if (isHeader)
{
table += "<th>" + artistFileValues[i][j] + "</th>\n"; //headers
if (j == artistFileValues[i].length - 1) //if last header in row, add another cell with 'add' button
{
table += "<th style='text-align: center;'>" + "<a id='addButton' onclick=\x22addRow(this)\x22>" + "+" + "</a>" + "</th>\n"; //'+' button
}
}
else
{
table += "<td contenteditable='false'>" + artistFileValues[i][j] + "</td>\n"; //values
if (j == artistFileValues[i].length - 1) //if last data in row, add another cell with 'delete' button
{
table += "<td style='text-align: center;'>" + "<a id='deleteButton' onclick=\x22deleteRow(this)\x22>" + "×" + "</a>" + "</td>\n"; //'x' button
}
}
}
isHeader = false;
table += "</tr>\n";
}
table += "</table>";
table += "<button id='calculateButton' onclick='calculate()'>" + "Calculate" + "</button>"; //add calculate button to bottom of table
return table;
Ich gehe davon aus Ich hätte eine if-Anweisung oder eine for-Schleife zu implementieren, die auf 5 zählt und addiert dann das Innere des sechsten. Ich bin mir nicht sicher, was der beste Weg ist, dies zu tun, oder ob dies der richtige Weg ist.
Aber jede Hilfe wäre willkommen.
zum Thema zuerst zeigen Sie uns Ihre Versuche und was scheitert. –
Ich würde Template-HTML dafür verwenden. Was ich mache, ist zwei HTML-Dateien, eine für das meist feste HTML, und dann eine für die Vorlage jeder Zeile. Es wird kompliziert, aber mein Punkt ist: Für HTML, das sich nicht ändern wird, habe ich einfach eine HTML-Datei mit der grundlegenden Struktur, und dann die Teile, die sich ändern werden, haben ein "Scriptlet". Wie auch immer, es wird kompliziert und schwierig zu debuggen. Bis zu einem gewissen Grad fragen Sie eine Debugging-Frage. Verketten von Text ist großartig. Ich benutze es die ganze Zeit, aber ich mag auch Template-Text mit Merge-Feldern, die ich ersetze. –
Zum Beispiel: 'var myOptionTemplate = " "' Verwenden Sie dann 'ersetzen()' die Werte ersetzen: 'var optionHtml = myOptionTemplate.replace (" my_Merge_field_for_Value", thisRowValue)' –