Danke das war jetzt wirklich seeeeehr ausführlich. Habe mich zunächst einmal mit folgender Lösung beholfen. Denke ich werde es nach deiner Methode wieder umbauen.
function sort(obj){ var sortieren = new Array(); var list = new Array(); var i;
// Liste in ein Array lesen for (i=0; i < obj.options.length; i++) { list[i] = new Array(); list[i]["text"] = obj.options[i].text; list[i]["value"] = obj.options[i].value; }
// umsortieren in ein eindimensionales Array for (i=0; i < obj.length; i++){ sortieren[i]=list[i]["text"]+";"+list[i]["value"]; }
// eigentliches sortieren sortieren.sort();
// sortiertes Array wieder zurück in das Listenarray zurücklesen for (i=0; i < sortieren.length; i++) { var felder = sortieren[i].split(";"); list[i]["text"] = felder[0]; list[i]["value"] = felder[1]; }
// Listenfeld löschen this.eraseList(obj);
// sortiertes Listenarray in das Listenobjekt einfügen for (i=0; i < list.length; i++){ this.addOption(obj, list[i]["value"], list[i]["text"]); } }
Wobei die Funtion zu einer Javascriptklasse gehört. Obj ist dabei eine Select-Liste
grüsse Tobias