SELECT-Feld soll sich automatisch aktualsiieren

Ruediger

Erfahrenes Mitglied
Hallo Leute,

ich habe zwei Select-Felder untereinander. Das erste soll alle PKW-Hersteller und beinhalten und das zweite je nach ausgewähltem Hersteller alle in meiner Datenbank eingetragenen Modelle. Ich habe einen Ansatz auf der Seite

Link

gefunden. Jedoch funktioniert das Skript nicht und ich brauche auch zwei Select-Felder ohne multiple Auswahl. Kann mir jemand helfen?

Vielen Dank!
 
Hi,

mal sehen, ob ich Dein Problem richtig verstanden habe.

Wählst Du im ersten Selectbereich eine Option aus, sollen im zweiten Bereich nur
Optionen erscheinen, die von der ersten Auswahl abhängig sind.

Dazu würde ich bei einer Änderung (onchange) im ersten Select zunächst sämtliche
Optionen der zweiten Selectgruppe löschen.
Anschliessend würde ich mit new Option die gewünschten Optionen in die
Selectstruktur einhängen.

JavaScript:
Code:
var arrGroup1 = new Array("o1", "o2", "o3");       // Erste Optionengruppe
var arrGroup2 = new Array("a1", "a2", "a3", "a4"); // Zweite Optionengruppe

function changeSelect(objForm, objSelVar){
    // Objekt des Selektbereichs, der geändert werden soll
    var objSel = objForm.selTest;

    // Welche Option wurde im ersten Select-Feld ausgewählt
    switch(objForm.changeSel.options[objForm.changeSel.selectedIndex].value){
        case "arrGroup1"	: arrFeld = arrGroup1;
      										break;
        case "arrGroup2"	: arrFeld = arrGroup2;
      										break;
    }

    // Optionen löschen
    objSel.length = 0;

    // Optionsarray durchlaufen
    for(var i=0; i<arrFeld.length; i++){
        // Neue Option erstellen
        objOpt = new Option(arrFeld[i], arrFeld[i], false, false);
        // Neue Option in Select-Struktur einhängen (immer an letzte Stelle)
        objForm.selTest.options[objForm.selTest.length] = objOpt;
    }
}
Der zugehörige HTML-Code könnte folgendermassen aussehen:
Code:
<form>
    <select name="changeSel" onchange="changeSelect(this.form, this);">
        <option value="arrGroup1">arrGroup1
        <option value="arrGroup2">arrGroup2
    </select>
    <select name="selTest" size="1">
        <option value="o1">o1
        <option value="o2">o2
        <option value="o3">o3
    </select>
</form>
Ciao
Quaese
 

Neue Beiträge

Zurück