Hallo zusammen,
per JS-Funktion baue ich mir Stück für Stück ein neues select-Element auf, das ich dann für ein altes einsetze:
var select = document.forms["select"].elements["ort[]"];
var neu = document.createElement("select");
var name = document.createAttribute("name");
var onchange = document.createAttribute("onchange");
var size = document.createAttribute("size");
var multiple = document.createAttribute("multiple");
name.nodeValue = "ort[]";
onchange.nodeValue = "setRegion();";
size.nodeValue = "5";
multiple.nodeValue = "multiple";
neu.setAttributeNode(name);
neu.setAttributeNode(onchange);
neu.setAttributeNode(size);
neu.setAttributeNode(multiple);
document.getElementById("ort").replaceChild(neu,select);
// die option-Elemente generiere ich weiter unten,
// die werden aber auch fehlerfrei dargestellt
...
<div id="ort">
<select size="5" multiple="multiple" name="ort[]" onchange="setRegion();">
<option>...</option>
...
</select>
</div>
Im Firefox klappts wunderbar, im IE bekomme ich nach Auslösen der Funktion ein Drop-Down-Feld trotz des size-Attributs (Wert="5"). Was mich ein bisschen verrückt macht, ist die Tatsache, dass es so (oder ähnlich) schon funktioniert hat. Ist der Code so richtig und ich sollte an anderen Stellen suchen, oder seht Ihr Fehler.
Danke für jegliche Hilfe im Voraus.
Gruß,
Basti