Mit GetelementbyID und eine for-Schleife hatte ich gehofft, in der Lage zu sein, einen Dropdown-Button zu erstellen und automatisch mit Einträgen aus einem Array zu füllen. Leider scheint es nicht zu funktionieren, da der html für das Dropdown sich schließt, bevor ich es erzähle.Bootstrap Dropdown mit Javascript generiert
Dies ist mein Code
var contacts = [
"John",
"John",
"John",
"John",
"John",
"John",
"John",
];
function phone() {
document.getElementById("optionscontainer").innerHTML = document.getElementById("optionscontainer").innerHTML + '<span class="dropdown"><a href="#" class="dropdown-toggle btn btn-default" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Phone <span class="caret"></span></a><ul class="dropdown-menu">';
for (i = 0; i < contacts.length; i++) {
document.getElementById("optionscontainer").innerHTML = document.getElementById("optionscontainer").innerHTML + '<li><a onclick="call(' + i + ')" href="#">' + contacts[i] + '</a></li>';
if (i == contacts.length) {}
}
document.getElementById("optionscontainer").innerHTML = document.getElementById("optionscontainer").innerHTML + '</ul></span>';
}
Wie Sie sehe ich das Drop-down vor der Schleife zu öffnen, dann verwende ich die Schleife alle Optionen aufzulisten, die innerhalb es sein sollte, und am Ende habe ich es zu schließen.
Sobald ich es zwar laufen lasse, bekomme ich nur ein gebrochenes Dropdown (Beispiel kann hier http://creativiii.com/test/test.html gesehen werden). Nach der Überprüfung der HTML mit Chrom habe ich festgestellt, dass, aus irgendeinem Grund, </ul></span>
geschrieben werden, direkt bevor die Schleife beginnt, dass am Ende, wo ich will, bricht das Dropdown vollständig.
Wie kann ich das beheben? In dem von mir bereitgestellten Link habe ich auch ein Beispiel dafür angegeben, wie das Dropdown aussehen sollte.
relativ html wäre nützlich –
Relative html sein? Was meinst du damit? – Eight
Html das ist relativ zu Ihrer Frage, benötigt, um Ihr Problem zu replizieren –