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="">&mdash; Select One &mdash;</option>
</select>

Mein JavaScript -Code sieht so aus:

function selectOne() {
  var e = document.getElementById('test');
  e.options[0] = new Option('&mdash; Select One &mdash;', '');
}

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 = '&mdash; Select One &mdash;';

(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.)

War es hilfreich?

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 = '&mdash; Select One &mdash;';
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top