J.Hahn: Dynamisch erzeugtes Select-Feld liefert keine Werte bei Auswahl

Beitrag lesen

Hi allerseits,

ich habe folgendes Problem mit einem per Javascript dynamisch erzeugten SELECT-Auswahlfeld: Das SELECT-Tag notiere ich in der XHTML-Datei wie folgt:

<select name="cssSelector" id="cssSelector">
  <option value="">Kein CSS-Selektor ausgewählt</option>
</select>

Anschließend lese ich die Stylesheet-Informationen der Seite aus und erzeuge per Javascript für jeden CSS-Selektor ein OPTION-Tag in dem o.g. SELECT-Feld, in etwa so:

while (cssSelector = document.styleSheets[0].cssRules[selectorCounter].selectorText) {
  if (cssSelector.match(/^./)) {
    cssSelector = cssSelector.replace(/^./, '');
    optionElement = new Option(cssSelector.toString(), cssSelector.toString());
    document.getElementById('cmtCSSSelector').appendChild(optionElement);
  }
  selectorCounter++;
}

Das SELECT-Feld sieht in der XHTML-Seite auch sauber aus (ebenso, wenn ich es mir mit Firefox/ Firebug anschaue.
ALLERDINGS, und das ist die Krux, sobald ich den ausgewählten Wert des SELECT-Feldes per Javascript auslesen möchte, wird immer ein leerer String zurückgegeben, bzw. eben der Wert des ersten, schon im XHTML definierten OPTION-Feldes zurückgegeben.

alert (document.getElementById('cssSelector').value)

liefert immer einen leeren String, egal, was im SELECT-Feld ausgewählt wird.

Auch kleine Tricks, wie ein:

history.go(0);

... nach dem dynamischen Erzeugen des SELECT-Feldes bringt keinen anderen Effekt.

Hatte jemand schonmal ein ähnliches Problem (und vielleicht eine Lösung dazu ;-) )?

Vielen Dank schonmal im voraus für Hilfe und schöne Grüße, Josef