Werte der Liste/Menü zur Laufzeit ändern
Jürgen Seelig
- html
Hallo,
ich versuche seit einiger Zeit folgendes hinzubekommen:
man wählt aus einem Auswahlfeld einen bestimmten Wert aus. Dann soll sich in einem zweiten Auswahlfeld der Inhalt ändern.
Wie man das mit normalen Textfeldern hinbekommt weis ich:
z.B.
onFocus="if(feld1.value=='TEST')feld2.value='TEST123'"
Aber wie heisst das bei einem Auswahlfeld? Es muß irgendwie so ähnlich wie
onFocus="if(Auswahlfeld1.option.value=='TEST')feld2.value='TEST123'"
wäre schön, wenn mir einer nen paar tipps, oder eine Lösung geben könnte.
Besten Dank
Jürgen Seelig
Hallo,
Hallöle!
Ausnahmsweise poste ich mal die Lösung :)
<!doctype html public "-//W3C//DTD HTML 4.01 //EN">
<html>
<head>
<title>Formular beinflussen</title>
<meta name="author" content="fastix">
<meta name="generator" content="Ulli Meybohms HTML EDITOR">
</head>
<body>
<a id="link1" onClick="document.forms['formular1'].test.options[0].value='Test 1'; document.forms['formular1'].test.options[0].innerText='Test 1'">Test 1</a><br>
<a id="link2" onClick="document.forms['formular1'].test.options[1].value='Test 2'; document.forms['formular1'].test.options[0].innerText='Test 2'">Test 2</a><br>
<form action="" method="" target="" name="formular1">
<select name="test">
<option value="Wert 1" id="W1">Wert 1</option>
<option value="Wert 2" id="W2">Wert 2</option>
</select>
</form>
</body>
</html>
Da war noch was zu korrigieren....
Das "Geheimnis" Die Optionen sind ebenfalls durchnummeriert. Du musst Sie also auch so adressieren:
document.forms['FORMULARNAME'].NAME_SELECT.options[NR_OPTION].value="Wert"
Außerdem musst Du noch mit innerText den Text ändern.
Hier die korrigierte Lösung:
<!doctype html public "-//W3C//DTD HTML 4.01 //EN">
<html>
<head>
<title>Formular beinflussen</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<meta name="author" content="fastix">
<meta name="generator" content="Ulli Meybohms HTML EDITOR">
</head>
<body>
<a id="link1" onClick="document.forms['formular1'].test.options[0].value='Test 1'; document.forms['formular1'].test.options[0].innerText='Test 1'">Test 1</a><br>
<a id="link2" onClick="document.forms['formular1'].test.options[1].value='Test 2'; document.forms['formular1'].test.options[1].innerText='Test 2'">Test 2</a><br>
<form action="" method="" target="" name="formular1">
<select name="test">
<option value="Wert 1">Wert 1</option>
<option value="Wert 2">Wert 2</option>
</select>
</form>
</body>
</html>
Hallo,
danke für deine antwort. Leider meinte ich das etwas anders.
ich will, dass ein select1-feld mit den inhalten einer datenbank1 gefüllt wird. gehen wir mal davonaus, der inhalt der datenbank1 und damit auch des select1-feldes ist:
test1 => 1
test2 => 2
test3 => 3
test4 => 4
Wenn ich dann z.b. test2 auswähle, soll er automatisch ein zweites select-feld (select2-feld) mit dem inhalt aus der datenbank2 füllen.
Wenn ich aber z.b. test4 auswähle, soll er automatisch ein zweites select-feld (select2-feld) mit dem inhalt aus der datenbank4 füllen.
ich hoffe so ist es verständlicher.
nochmal besten dank
Jürgen
Wo ist denn die Datenbank?
Eventuell ist es sinnvoll PHP/Perl/CGI zu benutzen.
Jetzt und hier eine Lösung zu entwickeln und zu posten halte ich mit dem, was ich bisher weiss augenblicklich nicht für sinnvoll.
Vielleicht hilft dir ja auch weiter, dass du Elemente löschen und mit documentGetElementsById[].innerHtml="" ein komplett neues Select erzeugen kannst.
fastix
Hallo,
ich versuche seit einiger Zeit folgendes hinzubekommen:
man wählt aus einem Auswahlfeld einen bestimmten Wert aus. Dann soll sich in einem zweiten Auswahlfeld der Inhalt ändern.
Wie man das mit normalen Textfeldern hinbekommt weis ich:
z.B.
onFocus="if(feld1.value=='TEST')feld2.value='TEST123'"Aber wie heisst das bei einem Auswahlfeld? Es muß irgendwie so ähnlich wie
onFocus="if(Auswahlfeld1.option.value=='TEST')feld2.value='TEST123'"
wäre schön, wenn mir einer nen paar tipps, oder eine Lösung geben könnte.
Mal bei selfHMTL gucken?
option felder sind Arrays, du brauchst den Index des Auswahlfeldes (selectedIndex) und um options einzufügen kannst du new Option() verwenden.
Steht aber alles auch hier http://selfhtml.teamone.de/javascript/objekte/options.htm
Struppi.