Der Hinweis auf JS war richtig.
Hier mal ein ganz primitives Beispiel, dass aber auch "verry oldstyled" ist. Dafür ist es leicht zu durchschauen (also abzuändern) und performant:
<html>
<head>
<title>Test</title>
<script type="text/javascript">
var itemname=new Array('Bitte wählen', 'foo', 'bar');
var itemtext=new Array('Noch nichts gewählt', 'foo wurde gewählt', 'bar wurde gewählt');
function givIt() {
gewaehlt=document.forms['f_1'].elements['s_1'].value;
document.getElementById('ausgabe').innerHTML=text[gewaehlt];
}
</script>
</head>
<body>
<h1>Test</h1>
<form name="f_1">
<select name="s_1" onchange="givIt()">
<script type="text/javascript">
for (i=0; i<itemtext.length; i++) {
document.write('<option value="' + i + '">' + itemname[i] + '</option>')
}
</script>
</select>
<div id='ausgabe'>Noch nichts gewählt.</div>
</body>
</html>
Zur Erläuterung:
Die Zeilen
var itemname=new Array('Bitte wählen', 'foo', 'bar');
var itemtext=new Array('Noch nichts gewählt', 'foo wurde gewählt', 'bar wurde gewählt');
enthalten die Daten, die später verwendet werden. Die können aus einer Datenbank stammen und es macht gar nichts aus, wenn die danach z.B. so aussehen:
var itemname=new Array(
'Bitte wählen',
'foo',
'bar'
);
Das Formular und die Select-Box bekommen einen Name zur Adressierung:
<form name="f_1">
<select name="s_1" onchange="givIt()">
wird die Select-Box geändert, so wird die selbst definierte Funktion givIt() aufgerufen.
Wenn die Seite geladen wird, dann wird dieser Teil ausgeführt:
for (i=0; i<itemtext.length; i++) {
document.write('<option value="' + i + '">' + itemname[i] + '</option>')
}
Damit bekommt die Select-Box den Inhalt geschrieben.
Für jede Zahl i von 0 , solange i kleiner als die Datenmenge. Schreibe <option wert=i>den zugehörigen Text aus dem Array 'itemname', dann </option>. Erhöhe i um 1 und mache das nochmal.
Der Bereich, in den ausgegeben wird, der bekommt eine ID und einen Inhalt, der beim Start angezeigt wird:
<div id='ausgabe'>Noch nichts gewählt.</div>
Wenn jetzt eine Auswahl durchgeführt wurde wird die (eigene) Funktion givIt() ausgeführt.
Die ermittelt welches Item ausgewählt wurde und wählt dann den entsprechenden Text aus dem Array aus und schreibt ihn in den mit der ID 'ausgabe' eindeutig identifizierten div.