Option Feld
Mike
- javascript
Hi,
kann mir jemand sagen, wie ich aus einem Option Feld eine Zeile abgreifen kann und diese in ein anderes Option Feld speichern kann? Das ganze soll bei einem anklicken von einem Textlink ausgeführt werden.
Danke
Mike
Hi Mike,
kann mir jemand sagen, wie ich aus einem Option Feld eine Zeile abgreifen kann und diese in ein anderes Option Feld speichern kann? Das ganze soll bei einem anklicken von einem Textlink ausgeführt werden.
auslesen:
var optValue=document.yourForm.yourSelect.options[n].value;
speichern:
document.yourForm.yourSelect.options[n].value=optValue;
pack dies in eine Funktion und ruf diese im Link auf...
Grüße,
bluntburn
Hi,
Danke für die erste Info. Bin leider ein kleiner JS Newbie. Habe das jetzt gemacht, scheint allerdings nicht zu funktionieren. Poste es hier mal rein:
<script language="JavaScript">
<!--
function selectcats(n) {
var optValue=document.form.enabled_categories.option[n].value;
document.form.disabled_categories.options[n].value=optValue;
}
-->
</script>
und der aufruf:
<a href="#" onClick="javascript:selectcats(1)">blabla</a>
Wo steckt der Fehler?
Danke
Hi Mike,
function selectcats(n) {
var optValue=document.form.enabled_categories.option[n].value;document.form.disabled_categories.options[n].value=optValue;
<a href="#" onClick="javascript:selectcats(1)">blabla</a>
Die Frage ist, ob Du nur das Value ändern willst ode auch den Text. Falls Du auch den Text ändern willst, ergänze bitte eweils die Zeilen mit document.form.disabled_categories.options[n].text
Ach ja, im onClick bitte "javascript:" weglassen...
bluntburn
Hi nochmal,
nee ändern möchte ich nichts. Nochmal zur erläuterung: Ich habe 2 Option Felder. In dem ersten (enabled_categories) sind mehrere Einträge. Das zweite Option Feld (disabled_categories) ist komplett leer. Nun möchte ich durch anklicken des Eintrages in enabled_categories es dort löschen und in disabled_categories anzeigen. Der Text ist immer gleich dem dem value.
Danke
hi,
Das zweite Option Feld (disabled_categories) ist komplett leer. Nun möchte ich durch anklicken des Eintrages in enabled_categories es dort löschen und in disabled_categories anzeigen.
dann willst du also an der einen stelle ein html-objekt löschen, und an einer anderen eines hinzufügen.
das wird aber ein bisschen umfangreicher/komplizierter.
mache dich mit dem DOM vertraut, und sieh dir hier besonders an, welche möglichkeiten für das oben genannte das node-objekt bietet (</javascript/objekte/node.htm>).
gruss,
wahsaga
Hi Mike,
nee ändern möchte ich nichts. Nochmal zur erläuterung: Ich habe 2 Option Felder. In dem ersten (enabled_categories) sind mehrere Einträge. Das zweite Option Feld (disabled_categories) ist komplett leer. Nun möchte ich durch anklicken des Eintrages in enabled_categories es dort löschen und in disabled_categories anzeigen. Der Text ist immer gleich dem dem value.
das ist leider nicht ganz trivial und es erfordert mehr als nur das schreiben einer neuen option:
Du müsstest überprüfen, ob das option in disabled_cat. schon vorhanden ist.
Und Du müsstest beim Übertragen Deine enabled_cat. neu schreiben.
Das lässt sich nict in 2 Sätzen beschreiben...
...vielleicht bis nachher,
bluntburn
Ok Mike, ich hab mal was...
<html>
<head>
<title>Unbenannt</title>
<script>
function init() {
var df=document.forms[0];
df.s1.options[0]=new Option("text1","value1");
df.s1.options[1]=new Option("text2","value2");
df.s1.options[2]=new Option("text3","value3");
}
function chg(n) {
var df=document.forms[0];
var txt=df.s1.options[n].text;
var val=df.s1.options[n].value;
df.s2.options[df.s2.options.length]=new Option(txt,val);
df.s1.options[n]=null;
}
</script>
</head>
<body onLoad="init()">
<form>
<select name="s1" size="4" onChange="chg(this.selectedIndex)">
</select>
<select name="s2" size="4">
</select>
</form>
</body>
</html>
Grüße,
bluntburn
Geht wie immer noch kürzer...
<html>
<head>
<title>Unbenannt</title>
<script>
function chg(f,o,n) {
var s=(o==f.s1)?f.s2:f.s1;
s.options[s.options.length]=new Option(o.options[n].text,o.options[n].value);
o.options[n]=null;
}
</script>
</head>
<body>
<form>
<select name="s1" size="3" onChange="chg(this.form,this,this.selectedIndex)">
<option value="">111</option>
<option value="">222</option>
<option value="">333</option>
</select>
<select name="s2" size="3" onChange="chg(this.form,this,this.selectedIndex)">
</select>
</form>
</body>
</html>
Grüße,
bluntburn