Hi....
Kann mir mal jemand sagen, was hier schief geht. Der verfluchte IE treibt mich gleich in den Wahnsinn. Mach da schon seit 4 Stunden rum.
Ich lasse eine <select>-Liste per Ajax mit <option> füllen. Je nachdem, was in der Liste zuvor ausgewählt wurde, werden andere Einträge in den <select>-Knoten eingebaut. Ist ja schade, dass der IE so verflucht blöd ist. Der Firefox blickts zumindest wenn man das Select-Element mit meinselect.innerHTML = "<option>123</option><option>456</option"; füllt.
Aber für IE muss ich das übers DOM machen. Toll.
Und nun möchte ich, wenn in der Liste zuvor eine andere Option ausgewählt wird erst alle Einträge in der ajax-Select-Liste gelöscht und wieder neu gefüllt werden.
Ich verwende dazu eine for-Schleife... Er lässt mir aber manchmal 2 oder einen Eintrag drin stehen, also löscht nicht alle <option> aus der Liste raus. Und ich frage mich warum?? Ich hab alles schon degebuggt... wenn ich mir
document.meinform.meinselect.meinoption.length ausgeben lasse, ist das nach dem Löschvorgang immer noch 2!!!!
Hier der Code: this.req.responseText liefert einen Datenstring zurück mit Benutzern und seinen daten, z.B.
"1|name1|admin#1|name2|user#3|name3|user#"
Die benutzer werden mit "#" getrennt und deren Daten mit "|"
Alles anzeigen
Kann mir mal jemand sagen, was hier schief geht. Der verfluchte IE treibt mich gleich in den Wahnsinn. Mach da schon seit 4 Stunden rum.
Ich lasse eine <select>-Liste per Ajax mit <option> füllen. Je nachdem, was in der Liste zuvor ausgewählt wurde, werden andere Einträge in den <select>-Knoten eingebaut. Ist ja schade, dass der IE so verflucht blöd ist. Der Firefox blickts zumindest wenn man das Select-Element mit meinselect.innerHTML = "<option>123</option><option>456</option"; füllt.
Aber für IE muss ich das übers DOM machen. Toll.
Und nun möchte ich, wenn in der Liste zuvor eine andere Option ausgewählt wird erst alle Einträge in der ajax-Select-Liste gelöscht und wieder neu gefüllt werden.
Ich verwende dazu eine for-Schleife... Er lässt mir aber manchmal 2 oder einen Eintrag drin stehen, also löscht nicht alle <option> aus der Liste raus. Und ich frage mich warum?? Ich hab alles schon degebuggt... wenn ich mir
document.meinform.meinselect.meinoption.length ausgeben lasse, ist das nach dem Löschvorgang immer noch 2!!!!
Hier der Code: this.req.responseText liefert einen Datenstring zurück mit Benutzern und seinen daten, z.B.
"1|name1|admin#1|name2|user#3|name3|user#"
Die benutzer werden mit "#" getrennt und deren Daten mit "|"
Quellcode
- function handleGetSupervisors() {
- result = this.req.responseText;
- alert(result);
- list = new Array();
- var tmp = result.split('#');
- for(i=0; i<(tmp.length-1); i++) {
- var tmp2 = tmp[i].split('|');
- list[i] = new Array();
- list[i][0] = tmp2[0]; // ID
- list[i][1] = tmp2[1]; // Benutzername
- list[i][2] = tmp2[2]; // Rolle
- }
- alert("BEGIN---------> Length:"+document.benutzer_anlegen.leiter.options.length);
- // Löschen, aber das funktioniert nicht
- var length = document.benutzer_anlegen.leiter.options.length;
- for(i=0; i<length; i++) {
- document.benutzer_anlegen.leiter.options[i] = null;
- alert("deleted "+i);
- }
- alert("MIDDLE---------> Length:"+document.benutzer_anlegen.leiter.options.length);
- // Select-Form mit options füllen
- for(i=0; i<list.length; i++) {
- alert("create "+i);
- newOption = new Option(list[i][1]+" ("+list[i][2]+")", list[i][0], false, false);
- document.benutzer_anlegen.leiter.options[i] = newOption;
- }
- alert("ENDE---------> Length:"+document.benutzer_anlegen.leiter.options.length);
- //}
- }