Un des bugs d'IE qui n'a pas été corrigé dans sa version 8 est le fait de ne pouvoir changer dynamiquement le contenu d'un select avec .innerHTML.

Microsoft propose des solutions de contournement : utiliser .innerHTML sur l'élément parent ou de passer par du DOM.

Très peu pratique quand on a déjà codé un select_element.innerHTML="nouvelles_options";

Heureusement, une solution rapide et efficace : remplacez select_element.innerHTML="nouvelles_options" par selectupdate(select_element,"nouvelles_options") et ajoutez la fonction de la page d'exemple suivante dans votre code :

<script>
   function selectupdate(destination,contenu) {
      if(navigator.userAgent.indexOf("MSIE") != -1) {
         var emptyselect = destination.outerHTML.split(destination.innerHTML);
         var result=emptyselect[0]+contenu+emptyselect[1];
         destination.outerHTML=result;
      } else {
         destination.innerHTML=out;
      }
   }
</script>
Exemple : <select id="test">
   <option>test1</option>
</select>
<input type="button" onclick="selectupdate(document.getElementById('test'), '<option>test2</option>')" value="OK">