Gast200: Javascript select Funktion, verschieben von Werten zwei Boxen

Beitrag lesen

Hallo!! Hätte da eine kleine Frage bezüglich meiner Funktionen...die wie folgt funktionieren sollt:
a)die Erste function Eingabe:
Findet den gesuchten Wert im Selectbereich wieder(der sollte aber nicht nur auswahl sondern auch liste2 sein...habs versucht...es fruchtet jedoch leider nicht wirklich).
b)die zweite funcion do_submit:
-Sollte den Wert von auswahl in die Textbox liste2 verschieben
-sprich in der auswahl Textbox sollte der Wert dann nicht mehr vorhanden sein
-und hier befindet sich auch das eigentliche Problem! Wird der Wert eingegeben verschiebt sich der Text wie gewollt von a nach b...jedoch möchte ich nur einen Wert in Liste2 haben!! und zwar genau jenen der in select auswahl und select liste2 den Eingabewert am nähesten ist.

Hab schon einiges versucht aber ich komme leider nicht auf die richtige Lösung...wenn einer von euch weiter weiß wäre ich seeeehr sehr dankbar!!! Lg und danke für eure Posts schon mal im Voraus!!! ;)

Die Funktion lautet wie folgt:

<script type="text/javascript">

function Eingabe(wert) {
wert = wert.toLowerCase().replace(/[.*+?|()[]{}-]/gi,"").replace (/^\s+/, '').replace (/\s+$/, '').replace(/(\s)\s+/g,"$1");
if (wert.length == 0) {
var si = document.getElementById('auswahl').selectedIndex;
document.getElementById('auswahl').options[si].selected = false;
document.getElementById('Hilfsanzeige').innerHTML = '&nbsp;';
return;
}
var so = document.getElementById('auswahl').options;
var sol = so.length;
for (i = 0; i < sol; i++){
if (wert == so[i].innerHTML.toLowerCase().replace(/[.*+?|()[]{}-]/gi,"").replace (/^\s+/, '').replace (/\s+$/, '').replace(/(\s)\s+/g,"$1").match(wert)) {
so[i].selected = true;
document.getElementById('Hilfsanzeige').innerHTML = so[i].innerHTML;
break;
}
}
}

</script>

<script type="text/javascript">
function do_submit() {
  for (i=document.getElementById('auswahl').liste2.length; i >= 0 ; i--) {
    document.getElementById('auswahl').liste2.options[i].selected=true;
    }
  document.getElementById('auswahl').submit();
}

function moveItems(source, destination) {
    for (i=0; i < source.length; i++) {
        if (source.options[i].selected==true ) {
            destination.options[destination.length] = new Option(source.options[i].text, source.options[i].value);
        }
    }
    for (i=source.length-1; i >= 0 ; i--) {
        if (source.options[i].selected==true) {
            source.options[i] = null;
        }
    }
}
</script>

<div id="Hilfsanzeige">&nbsp;</div>
<input  id="suchwert" placeholder="Schnellsuche" onKeyUp="Eingabe(this.value);moveItems(document.getElementById('liste').auswahl, document.getElementById('liste').liste2)">
<br>
<form name="liste" id="liste" action="" method="post" multiple="multiple" size="4">
<select multiple="multiple" size="4" id="auswahl">
<option>Albert</option>
<option>Audi</option>
<option>Audit</option>
<option>Auditorium</option>
<option>Auditoriumhalle</option>
<option>Halbwertzeit</option>
<option>Haudegen</option>
<option>Rudi</option>
<option>Klagenfurt</option>
<option>Klagenfurt am Wörthersee</option>
<option>Rudi</option>
<option>Rudii</option>
</select>
<select multiple="multiple" name="liste2" id="liste2" size="4">
</select>
</form>