options.length nach DHTML addOption

Chickenman

Grünschnabel
Hallo,

wenn ich mittels einer Funktion einer Combobox eine <option> zufüge, kann ich die zugefügte <option> zwar sofort sehen, aber wenn ich in der Funktion NACH dem appendChild alert(combobox.length) aufrufe, wird die Addition noch nicht angezeigt. Wenn ich z.B. mit setTimeout eine Verzögerung einbaue, dann wird die neue Anzahl korrekt gezeigt. Wie kann ich ermitteln, ab wann die korrekte length zur Verfügung steht?

Danke

Chickenman
 
Hi,

wenn ich die Option mit new Option erstelle und an das options-Array anhänge, ist die Länge sofort verfügbar.

Beispiel:
Code:
<html>
<head>
<title>www.tutorials.de</title>
<meta name="author" content="Quaese">
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
  <!--
function newOption(){
  var oSel = document.getElementById("selId");
  var oOpt = new Option('drei', 'drei', false, true);
  oSel.options[oSel.length] = oOpt;

  alert(oSel.options.length);
}
 //-->
</script>
</head>
<body>
<button onclick="newOption()">newOption</button>
<select id="selId">
  <option>eins</option>
  <option>zwei</option>
</select>
</body>
</html>
Ciao
Quaese
 
Zurück