Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

mit onchange eine andere combobox füllen





Frage

Ich kann immer noch kein javascript, muss aber folgendes Problem lösen: Ein Formular mit zwei Comboboxen. Das eine ist gefüllt. Wenn eine Option ausgewählt wird, soll automatisch die zweite Combobox mit den passenden Optionen gefüllt werden. Die Optionen habe ich im Moment in einer PHP-Variablen. Über die Suche habe ich nichts brauchbares gefunden. Kann mir da einer einen Tip geben?

Antwort 1 von rfb

hab zwar einen Lösungsansatz schon halb im Kopf, aber z.Zt. nicht die Ruhe ihn aufzuschreiben.

Für diejenigen die wie ich erst einmal über den Begriff "Combobox" stolpern: gemeint ist wohl eine Auswalliste
<select ...> 
<option value="...">...</option>
</select>


Antwort 2 von Combo

Hier steht, wie man Auswahllisten editieren kann:
http://de.selfhtml.org/javascript/objekte/options.htm

Antwort 3 von rfb

so ungefähr sollte es gehen:

<script type="text/javascript">

function liste_aendern(nr) {
 for (var j=document.formular.Auswahl2.length-1; j>=0; j--) {
  document.formular.Auswahl2.options[j] = null;
 }
 var listen = new Array(2);
 listen[0] = new Array();
 listen[1] = new Array();
 listen[0][0]="was auch immer";
 ...
 for (j=0; j<listen[nr].length; j++) {
  NeuerEintrag = new Option(listen[nr][j], listen[nr][j], false, true);
  document.formular.Auswahl2.options[document.formular.Auswahl2.length] = NeuerEintrag;
 }
}

</script>
....
<form name="formular" action=...>
<select name="Auswahl1" size="1" onChange="liste_aendern(this.form.Auswahl1.options[this.form.Auswahl1.options.selectedIndex].value)">
<option value="0">Augsburg</option>
<option value="1">Berlin</option>
</select>
<select name="Auswahl2" size="1">
<option>nix</option>
<option>gar nix</option>
</select>
</form>


in dem mehrdimensionalen Array listen[..][..] sind die Werte für die 2te Auswahlliste, zum Beginn der Funktion wird erst einmal alles gelöscht was da ist.