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