Don P: Eventhandler kaputt?

Beitrag lesen

Hallo,

Entweder:
SELECT.innerHTML='';
oder:
mit "removeChild()" und einer Schleife alle "childNodes" vom SELECT entfernen
oder:
SELECT.options.length auf null setzen
oder:
den Array SELECT.options mit einer Schleife durchlaufen und die jeweiligen OPTIONS mit SELECT.remove() entfernen
und SELECT dann neu auffüllen.

Da gibt es ja so viele Möglichkeiten und ich hab ausgerechnet zuerst eine gefunden, die nicht funktioniert, Murphy lässt grüßen.

So klappt es prima:

  
  
            names = {  
  
                Ich: {},  
                Du: {},  
                Er: {},  
                Sie: {},  
                Es: {}  
            };  
  
            function newNames() {  
  
                var newList = document.getElementById("Names");  
                newList.innerHTML = "";  
  
                for (var theName in names) {  
  
                    var opt = document.createElement('option');  
                    opt.value = theName;  
                    opt.innerHTML = theName;  
                    newList.appendChild(opt);  
                }  
            }

newList.innerHTML = ""; ist wohl das einfachste, scheint mir aber auch irgendwie frech (Holzhammermethode), zumal ich das so noch nirgends gesehen habe.
newList.options.length = 0; dagegen ist dokumentiert.

remove() und remveChild() sind mir zu umständlich, wenn ohnehin alle option-Elemente gelöscht werden sollen.

Danke und Gruß, Don P