2 SelectBox -> Felder hin und her schieben

DiDiJo

Erfahrenes Mitglied
Hi Leute,

ich bin auf der Suche nach einem lauffähigen JS-Skript mit dem ich Werte von 2 Select-Boxen über 2 Knöpfe (mit Pfeilen in die entsprechende Richtung) hin und her schieben kann.

Die 2 Select Boxen sind beide gleich hoch und beide sind Multiselect-Felder.


Das ist momentan mein Aufbau:
HTML:
<select name="ori_plz" size="20" style="width:100%" multiple="multiple">
[..] Options [...] 
</select>

<input type="button" name="in" value=">>" onclick="add2SelectBox(this.form,'ori_plz','bd_plz[]')" <?=(!$_REQUEST['bd']) ? 'disabled="disabled"' : ''?>/><br/>
        <input type="button" name="out" value="<<" onclick="add2SelectBox(this.form,'bd_plz[]','ori_plz')" <?=(!$_REQUEST['bd']) ? 'disabled="disabled"' : ''?>/><br/>

<select name="bd_plz[]" size="20" style="width:100%" multiple="multiple">
[..] Options [...] 
</select>

Die Werte aus dem 2. Select-Feld werten später gespeichert.

Ich habe mir schon ein Skript selber geschieben was aber nach dem 4. - 5. hin und her schieben nicht mehr funktioniert ... nur Gott weiß bis jetzt warum ...

Hier mal mein Skript ...

Code:
function add2SelectBox(formular, from_select, to_select) {	
	var x = 0;
	var newArray = new Array();	
	var removeArray = new Array();	
	element_from = formular.elements[from_select];
	element_to = formular.elements[to_select];	
	
	for (var i=0; i < element_from.options.length; i++){		
		if (element_from.options[i].selected) {
			newArray[x] = element_from.options[i].value;
			removeArray[x] = element_from.selectedIndex;					
			x++;
		}
  	}	
		
	for (var i=0; i < removeArray.length; i++){
		element_from.remove(removeArray[i]);     
  	}
	
	for (var i=0; i < newArray.length; i++){
		var newOption = document.createElement("option");			
		newOption.text = newArray[i];
		newOption.value = newArray[i];
		element_to.options.add(newOption);      
  	}
}

... aber wie gesagt ... ab einem gewissen Punkt spinnt das Skript rum und entfernt nicht mehr richtig die Boxen ?!

Hat jemand von euch schon ein lauffähiges Skript um 2 Selectboxen so zu füllen.

mfg

Daniel
 
Zurück