Mehrfachauswahl Selectbox editieren + senden

Frumpy

Mitglied
Hallo,

ich bin gerade dabei etwas zu bauen und bin auf folgendes Problem gestoßen:

Ich möchte einer Gruppe die ich zum editieren öffne über ein entsprechendes Formular einen oder meherere Einträge hinzufügen.

Habe dafür 2 Selectboxen erstellt. Die Box links enthällt verfügbare Einträge und die Box rechts enthällt bereits hinzugefügte Einträge.

Die Einträge schiebe ich mittels Buttons zwischen den beiden je nach bedarf hin und her. diese Buttons enthalten Javascriptfunktionen hier ein Beispiel:

HTML:
<script>
function ghinzufuegen () {
for (i = 0; i < document.groupedit.gruppenlos.length; i++)
{
if (document.groupedit.gruppenlos.options[i].selected == true)
{
NeuerEintrag = new Option(document.groupedit.gruppenlos.options[i].text, document.groupedit.gruppenlos.options[i].value, false, false);
		document.groupedit.gruppenboni.options[document.groupedit.gruppenboni.length] = NeuerEintrag;
document.groupedit.gruppenlos.options[i] = null;
		}
	}

}
</script>

Diese Funktion sowie die Funktion vor dem Abschicken alles zu selectieren funktionieren auch soweit ganz gut.

Um nun aber alle Einträge die in der "gruppenboni" Selectbox sind auch zu versenden um sie auszuwerten hab ich wie hier beschrieben:

http://www.tutorials.de/forum/php/256513-rueckgabewert-von-select-liste-mit-mehrfachauswahl.html

an den Namen der Selectbox ein [] angehängt.

Das funktioniert zwar, nur gehen ab dann meine Javascriptfunktionen für das hinzufügen und entfernen sowie das "alles selectieren" nicht mehr.

Wie kann ich diese beiden funktionalitäten unter einen Hut bringen?
Ich weiss das es geht weil ich es schon gesehen habe nur wie genau ist mir nicht klar.

MFG Frumpy
 
Hmm scheint ja knifflich zu sein :)

naja ich habs gelöst bekommen.

hab einfach die Formularelemente (die beiden Selectboxen) über ihren Index angesprochen um Sie zu manipulieren:

HTML:
function ghinzufuegen () {

//alert("Diese Auswahl gilt nicht");
//alert (document.groupedit.elements[3].name);
//alert (document.groupedit.elements[6].name);

for (i = 0; i < document.groupedit.elements[3].length; i++)
	{
   

   if (document.groupedit.elements[3].options[i].selected == true)
		{
		NeuerEintrag = new Option(document.groupedit.elements[3].options[i].text, document.groupedit.elements[3].options[i].value, false, false);
		document.groupedit.elements[6].options[document.groupedit.elements[6].length] = NeuerEintrag;
		document.groupedit.elements[3].options[i] = null;
		}
	else
		{
		
		}
	}

}

so lassen sich die Boxen weiter ansprechen und sie werden vom formular als array per Post verschickt. funktioniert alles :D

trotzdem Danke wenn sich schon wer den Kopf zerbrochen hat ^^

MFG Frumpy
 
Zurück