value und text von selectbox1 in selectbox 2

tikemyson

Mitglied
hallo,
ich benutze 2Selectboxen in einem Frameset.
im Top und im Footer jeweils eine.

die obere SelectBox ist mit Einträgen gefüllt.
jetzt möchte ich per buttons Einträge (value + Text) von der oberen SelectBox in die untere übernehmen und umgekehrt (add/remove).


Maximal sollen 5 Elemente in die Box übernommen werden können.

Kann mir jemand sagen wie das geht?

danke!
 
Auf die Frames kannst du zugreifen per
Code:
top.nameDesFrames

Auf die Listen kannst du zugreifen per
Code:
document.formularname.listenName

Auf die ausgewählte Option in einer Liste kannst du zugreifen per
Code:
document.formularname.listenName.options[document.formularname.listenName.selectedIndex]

Eine Kopie eines Knoten(z.B. einer Option) kannst du erstellen per cloneNode()
Code:
Kopie = document.formularname.listenName.options[document.formularname.listenName.selectedIndex].cloneNode(true);

Einen Knoten..alo wiederum bspw. eine Option, kannst du per removeChild() entfernen.
diese Methode wird auf den Elternknoten des zu entfernenden Knoten angewandt...als Parameter wird der zu entfernende Knoten erwartet:
Code:
document.formularname.listenName.removeChild(document.formularname.listenName.options[document.formularname.listenName.selectedIndex])

Einen neuen Knoten einhängen...also bspw. eine neue Option in ein <select> einfügen, passiert per appendChild()
Die Methode wird angewandt auf den Knoten, in welchen etwas eingefügt werden soll, und erwartet als Parameter den einzufügenden Knoten.
Code:
document.formularname.listenName.appendChild(Kopie);

Letztendlich kann man wie folgt ermitteln, wieviele Optionen sich in einem <select> befinden:
Code:
document.formularname.listenName.options.length


Das sind die für dein Vorhaben notwendigen Dinge.
die Vorgehensweise könnte ca. so aussehen:
  1. eine Funktion...übergeben wird ihr die Absender-Liste
  2. in dieser Liste die ausgewählte Option ermitteln
  3. eine Kopie dieser Option erstellen
  4. die ausgewählte Option entfernen
  5. die Kopie in die Empfängerliste einfügen(falls es die untere Liste ist, nur, wenn diese weniger als 5 Optionen enthält)
 

Neue Beiträge

Zurück