Wie erstelle ich dynamisch eine
-
06-07-2019 - |
Frage
Ich möchte eine hinzufügenu003Coption> Element zu au003Cselect> Element, wo dieu003Coption> Der Text des Elements enthält eine HTML -Entität: -
In HTML würde der Code so aussehen:
<select name="test" id="test">
<option value="">— Select One —</option>
</select>
Mein JavaScript -Code sieht so aus:
function selectOne() {
var e = document.getElementById('test');
e.options[0] = new Option('— Select One —', '');
}
Wie Sie jedoch sehen werden, ob Sie dies testen, wird das - entkommen. Ich hatte das gleiche Ergebnis, als ich es versuchte:
e.options[o].text = '— Select One —';
(Beobachtetes Verhalten war im Internet Explorer 7 ... wurde nicht mit Firefox, Safari usw. getestet - Internet Explorer 7 ist der einzige Browser, den ich im Moment brauche.)
Lösung
Mir wurde nur klar, dass ich einen Unicode JavaScript -Flucht verwenden konnte:
e.options[0] = new Option('\u2014 Select One \u2014', '');
Andere Tipps
Sie müssen der Entität nicht entkommen - es funktioniert wie folgt:
function selectOne() {
var e = document.getElementById('test');
e.options[0] = new Option('— Select One —', '');
}
text
Das Eigentum wird nicht unabgeordnet, da es buchstäblich eingenommen werden soll. Wenn du benutzt innerHTML
, Die Entitäten werden in entsprechende Zeichen umgewandelt.
e.options[o].innerHTML = '— Select One —';