Mit Buttons Text zwischen Selects verschieben

Schind

Mitglied
hi, ich bräuchte bitte hilfe bei meinem problem:

ich hab insgesamt 7 selectboxen, eine mit 24 einträgen, und 6 die zu beginn leer sind und platz für 4 einträge haben.

ich habe für jede der kleinen selextboxen 2 buttons zum verschieben, d.h. ich selektiere in der großen box einen eintrag, klicke auf den button und der eintrag soll dann in der zugehörigen kleinen textbox stehen und aus der großen verschwinden (umgekehrt genauso, darum 2 buttons).

ich poste mal teile des formulars:
PHP:
<form action="index.php?op=main&action=lm/dowrite" method="post" name="choose_form">
  <select name="verf_select" size="<? echo $aufnahmelimit; ?>" style="width:200px;">
    <?
	if($db)
	{
		$sql = "SELECT id, teamname FROM team";
		$query = mysql_query($sql);
		if($query)
		{
			while($row = mysql_fetch_row($query))
				echo "<option value=\"$row[0]\">$row[1]</option>";
		}
		else
			message("Fehler", "Ein datenbankbedingter Fehler trat auf.");
	}
	else
		message("Fehler", "Fehler beim Verbinden mit der Datenbank");
?>
  </select>

<table width="100%" border="0" cellspacing="0" cellpadding="2" bgcolor="#FFFFFF">
<?				// Spalte mit den einzelnen Gruppen erzeugen
	if($db)
	{
		$sql = "SELECT id, leaguename FROM league_data;";
		$query = mysql_query($sql);

		if($query)
		{
			while($row = mysql_fetch_row($query))
			{
				echo "<tr>";
					echo "<td><table>";
						echo "<tr><td><input type=\"button\" value=\"---->\" style=\"font-size:16\" name=\"togroup$row[0]\" onClick=\"move_team(this.name)\"></td></tr>";
						echo "<tr><td><input type=\"button\" value=\"<----\" style=\"font-size:16\" name=\"fromgroup$row[0]\ onClick=\"move_team(this.name)\"></td></tr>";
					echo "</table></td>";
					echo "<td></td>";
					echo "<td class=\"m-normal\">";
						echo"<select name=\"group_select$row[0]\" size=\"4\" style=\"width:200px;\">";
						echo "</select>";
					echo "</td>";
				echo "</tr>";
			}
		}
	}
	?>
</table>

Ich hab jetzt schon ziemlich lange herumprobiert, aber irgendwie fehlt mir ein bisl kenntnis, dass der code auch so läuft wie ich will. bitte um hilfe.

mfg, Schind
 
also bist jetzt hab ich es leider nur geschafft, dass die beschriftung des buttons in die erste (und nur in die) selectbox reinkommt, wenn ich einen button drück :(
ich denk nicht, dass das hilfreich ist, aber ich poste mal den code.
kennt nicht vielleicht jemand ine seite mit guter funktionsbeschreibung, dann könnt ich mir selbst raussuchen, mit welcher funktion ich z.B. den aktuell gewählten eintrag einer select-box rauskriegen kann.

PHP:
 		function move_team(name)
 		{
 			var Eintrag = document.createElement("option");
 			Eintrag.text = document.getElementsByName(name)[0].value;
 			Eintrag.value = 1;

 			document.getElementsByName("group_select1")[0].add(Eintrag);
 		}
 
Zuletzt bearbeitet:
Hallo,

ich hab dir ein Beispiel gebaut (50% fertig). Ist im Anhang, bennene es in *.html und und schaus dir mal an. Hoffe es bringt dich weiter. Die Funktion so wie sie da steht ist sie Problemlos ausbaubar (es müssen nur 2 Variablen geändert werden)...

ciao
 

Anhänge

vielen dank erstmals, das funktioniert ja schon mal ganz gut.
allerdings hab ich noch 2 probleme:

1.) ich möchte es eigentlich so machen, dass ich keine checkboxen hab, sondern für jedes kleine select eigene Buttons.
Die fürs erste select heißen z.b. togroup1 und fromgroup1 (wird über sql generiert) und das select selbst heißt group_select1. bei den anderen selects genauso, nur halt mit anderen indizes.

anstatt
PHP:
var s1 = document.choose_form.group_select1;
var s2 = document.choose_form.group_select2;
...
möchte ich gleich schreiben:
PHP:
var s1 = document.choose_form.group_select[letztes zeichen des übergebenen buttonnamens]
in dem fall kann ich das ja nicht mit substring machen oder?

und 2.) ich will, dass in den anderen selectboxen nicht der Wert des gewählten eintrags, sondern der dargestellte text steht.
(damit mein ich den text der zwischen den <option></option> tags steht)
hab bei:
PHP:
NE = new Option(bg[si].value,bg[si].value,false,false);
jetzt schon das 'value' mit 'name' getauscht, aber irgndwie hauts nicht hin.

bitte nochmals um hilfe
(p.s.: nochmals die frage nach einer seite/einem buch wo ich genau solche sachen finden kann, also z.b. welche funktionen kann ich beim arbeiten mit einer select-box nach 'document.choose_form.group_select1.' verwenden)
 
Zuletzt bearbeitet:
Original geschrieben von Schind
1.) ich möchte es eigentlich so machen, dass ich keine checkboxen hab, sondern für jedes kleine select eigene Buttons.
Die fürs erste select heißen z.b. togroup1 und fromgroup1 (wird über sql generiert) und das select selbst heißt group_select1. bei den anderen selects genauso, nur halt mit anderen indizes.

Ok, sollte nicht alzuschwer sein...

anstatt
PHP:
var s1 = document.choose_form.group_select1;
var s2 = document.choose_form.group_select2;
...
möchte ich gleich schreiben:
PHP:
var s1 = document.choose_form.group_select[letztes zeichen des übergebenen buttonnamens]
in dem fall kann ich das ja nicht mit substring machen oder?
Könnte mit Substring gehen, würd ich aber nicht meine Hand ins Feuer legen...

und 2.) ich will, dass in den anderen selectboxen nicht der Wert des gewählten eintrags, sondern der dargestellte text steht.
(damit mein ich den text der zwischen den <option></option> tags steht)
hab bei:
PHP:
NE = new Option(bg[si].value,bg[si].value,false,false);
jetzt schon das 'value' mit 'name' getauscht, aber irgndwie hauts nicht hin.
tausche "value" mit "text"

(p.s.: nochmals die frage nach einer seite/einem buch wo ich genau solche sachen finden kann, also z.b. welche funktionen kann ich beim arbeiten mit einer select-box nach 'document.choose_form.group_select1.' verwenden)
Ich kann dich leider nur an http://www.selfhtml.net/javascript/index.htm und die dortige Objektreferenz weiterleiten, was anderes bzw. besseres hab ich auch nicht :(

Ich werd mir heute Nacht das nochmal anschauen und evtl was posten...

ciao
 

Neue Beiträge

Zurück