Cyrill Zadra: Events auf einem aufgeklappten SELECT Fenster -IE

Hi,

Ich habe eine Selectbox und eine Textfeld. Wenn man in der Selectbox ein Eintrag auswählt sollte automatisch im Textfeld der Wert von der Selectbox gesetzt werden.

Mein HTML (am Ende) ist bereits geschrieben es funktioniert jedoch nur im Mozilla und im IE nicht. Das Problem beim IE ist, dass aus irgendeinem Grund die Events (wie onclick...) auf dem aufgeklappten SELECT Fenster nicht funktionieren. Hat jemand ne Ahnung was ich falsch mache?

gruss Cyrill

---- HTML File ----

<html>
<head>
 <title>JavaScript Test - Special Selection Box</title>
</head>

<body>
<script language="javascript">
<!--

var indexnr = 0;

function test(key){
 var minisselect = document.getElementById('minisselect');

var text = "";
 var keylength = key.length;
 for (i = 0; i < minisselect.length; i++) {
  text = text + "\n" + minisselect.options[i].text;
  if (minisselect.options[i].text.substring(0, keylength) == key) {
   indexnr = i;
   break;
  }

}

minisselect.options[indexnr].selected = true;
}

function test2() {
 var minisselect = document.getElementById('minisselect');
 var minisearch = document.getElementById('minisearch');

for (i = 0; i < minisselect.length; i++) {
  if (minisselect.options[i].selected == true) {
   minisearch.value = minisselect.options[i].text;
   break;
  }
 }

}
-->
</script>
<form id="testaces" name="testcase" action="" method="get">
 <input id="minisearch" name="minisearch" type="text" value="" onkeyup="test(minisearch.value)" />
 <br />
 <select id="minisselect" name="minisselect" onmouseup="test2()">
  <option value="" selected="selected"></option>
       <option value="none" >None</option>
       <option value="aad" >aad</option>
       <option value="aac" >aac</option>
       <option value="ab" >ab</option>
       <option value="abb" >abb</option>
       <option value="abc" >abc</option>
       <option value="abd" >abd</option>
       <option value="acb" >acb</option>
       <option value="acd" >acd</option>
       <option value="bbd" >bbd</option>
       <option value="dbd" >dbd</option>
  </select>
</form>

</body>
</html>

  1. Hallo Cyrill,

    ich konnte möglicherweise nicht ganz folgen, was du wirklich tun willst. Dein script ist sehr kompliziert, nur um ein Textfeld mit dem Wert eines select Feldes zu füllen.

    Wenn du nur den Wert des select feldes in das textfeld schreiben willst, dann definiere das ereignis mit onchange:

    <select id="minisselect" name="minisselect" onchange="test2()">

    Dann wird dein Textfeld gefüllt ohne dass du viel am script ändern musst.

    Viele Grüsse