Oliver Kurlvink: Optionsliste "mittendrin" erweitern

Hallo,

alle Beispiele die ich für die Erweiterung von Optionslisten per Javascript finden konnte befassen sich mit dem Anfügen von Elementen. Habe ich auch eine entsprechende Möglichkeit zum Hinzufügen von Elementen zwischen zwei vorhandenen?

Ich habe hier nämlich eine alphabetische Liste, wo dann die entsprechenden neuen Begriffe natürlich auch an der richtigen Position erscheinen würden.

Was mir da momentan nur einfällt ist das Löschen der vorhandenen Liste und dann das Hinzufügen aller Elemente. Das erscheint mir natürlich als nicht ideale Lösung.

Ciao :)

  1. Hallo Oliver,

    alle Beispiele die ich für die Erweiterung von Optionslisten per Javascript finden konnte befassen sich mit dem Anfügen von Elementen. Habe ich auch eine entsprechende Möglichkeit zum Hinzufügen von Elementen zwischen zwei vorhandenen?

    Verschiebe doch einfach alle Elemente, die nach dem hinzuzufügenden Element kommen um eins nach hinten.

    function Hinzufuegen(pos) {
     with (document.Testform) {
      for (i=Auswahl.length; i>pos; i--) {
       Auswahl.options[i] = Auswahl.options[i-1];
      }
      NeuerEintrag = new Option(neu.value,neu.value,false,true);
      Auswahl.options[pos] = NeuerEintrag;
      neu.value = "";
     }
    }

    Dabei ist pos die Position, an die das neue Element soll, Testform der Formularname und Auswahl die Auswahlliste und neu das Feld mit dem einzufügenden Wert. Vorher musst Du nur noch pos bestimmen.

    Das Ganze ist nicht getestet, aber so ungefähr sollte es funktionieren.

    Grüße
    Andreas

    --
    As Einstein once said during a Thanksgiving food fight, "It's all relatives."