• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

<select multiple> in Klick-Reihenfolge in Arrays speichern

Status
Für weitere Antworten geschlossen.

Luk.Online

Neues Mitglied
Hallo,
ich habe ein <select multiple> feld und übergebe die <option> Felder an PHP Arrays.
Jetzt habe ich aber das Problem das sie von oben nach unten vergeben werden.

Quasi:
<option 1>
<option 2> --> array[0]
<option 3> --> array[1]
<option 4>
<option 5> --> array[2]
.
.
.

ich möchte aber, dass die Reihenfolge, wie die <option> angeklickt wurden bestimmt, in welches Array sie gespeichert werden.

Also:
<option 1>
als zweites angeklickt<option 2> --> array[1]
als drittes angeklickt<option 3> --> array[2]
<option 4>
zuerst angeklickt<option 5> --> array[0]
.
.
.

Ist das mit Java Skript möglich? Vielleicht mit onklick???



Vielen Dank schonmal für eure Antworten!


MfG, Lukas
 
Ein zweites verstecktes <select>, welche mit (bei Klick) geklonten Options des anderen <select> gefüllt wird. Dabei ist es dir überlassen, zu prüfen, ob es diese Option schon dort drin gibt.

(evtl. funktioniert Click auf <option> nicht überall, dann musst du es versuchen es über Change- bzw Focus-Events zu lösen)
 
Versuch dich einfach, der Weg ist in jedem Fall erklärt.
ich habs mal so versucht...

Code:
<html>

<head>

<title>test</title>

</head>

<body>

<form method="post" action="index.php" name="test">

      <fieldset border=1>
        <select name="test[]" multiple="yes" size="5" style="float: left;">
        <option onchange="this.form.hidden.value='<option>option1</option>';">option1</option>
        <option>option2</option>
        <option>option3</option>
        <option>option4</option>
        <option>option5</option>
        <option>option6</option>
        </select>
    <select name="hidden" multiple="yes" size="5" style=" /*visibility: hidden;*/ float: right;">

    </select>
    
        <br><br><br><br><br><br><input type="submit" name="Submit" value="Sumit" />
    </fieldset>
</form>

</body>
aber das geht nicht...:(
 
ich habe mir da mal was zusammengesucht...

Code:
<html>

<head>

<title>test</title>
<script type="text/javascript">

var Wert = 1;

function hinzu () 
{
  var Auswahlliste = document.getElementsByName("Auswahl")[0];
  var Eintrag = document.createElement("option");
  Eintrag.text = document.getElementsByName("Eingabe")[0].value;
  Eintrag.value = Wert;
  var FolgendeOption = null;
  if (document.all)
    FolgendeOption = Auswahlliste.length;
  Auswahlliste.add(Eintrag, FolgendeOption);
  Wert += 1;
}
function Loeschen () 
{
  document.Formular.Auswahl.options[document.Formular.Auswahl.length - 1] = null;
}

</script>


</head>

<body>

<form method="post" action="index.php" name="Formular">

  	<fieldset border=1>
	<select name="Eingabe" multiple="yes" size="5" style="float: left;">
		<option value="1" onclick="hinzu()">option1</option>
		<option value="2" onclick="hinzu()">option2</option>
		<option value="3" onclick="hinzu()">option3</option>
		<option value="4" onclick="hinzu()">option4</option>
		<option value="5" onclick="hinzu()">option5</option>
		<option value="Del" onclick="Loeschen()">Delete</option>
    	</select>
	<select name="Auswahl" multiple="yes" size="5" style=" /*visibility: hidden;*/ float: right;">
		<option value="0">option0</option>
	</select>
	</fieldset>
</form>

</body>
</html>

jedoch wie bringe ich die funktion Loeschen jetzt ein? Welchen Event-Handler soll ich verwenden? mit onchange klappt es leider nicht...

und außerdem gehts wieder nur im FF und nicht im IE... kann man da was tun?
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
Zurück
Oben