ClaudiaDZM: OPTION-ID als Variable erkennen

Hi
ich habe ein Formular mit einer mehrstufigen Auswahl.
Zum Beispiel:

In einem SELECT-Bereich werden verschiedene Automarken angeboten.
Mit onChange wird die ID der ausgewählten OPTION-Zeile gelesen und in einer Variablen gespeichert. Gleichzeitig wird aufgrund der ausgewählten ID via innerHTML eine neue Auswahlliste angeboten, je nachdem, welche Automarke ausgewählt wurde.
Diese Auswahllisten sind in Variablen hinterlegt, z.B.
VW = "<SELECT..."
BMW="<SELECT..."
...
Nehmen wir an, es steht jetzt "VW" in der Variablen und angezeigt würden in der neuen Auswahlleiste die VW-Modelle.

Bisher handhabe ich das via SWITCH in dem Sinn:
case ("VW">
....innerHTML = VW;
break;
case ("BMW">
....innerHTML = BMW;
break;

Aus der nächsten Stufe komme wieder eine Auswahl, z.B. "GOLF". Dazu gibt es wieder eine in einer Variablen hinterlegte SELECTION-Sequenz, in dem Fall in den Variablen
VWGOLF
VWTOURAN
VWJETTA
...

und entsprechend:
case ("VWGOLF">
....innerHTML = VWGOLF;
break;
case ("VWTOURAN">
....innerHTML = VWTOURAN;
break;
...

Nun frage ich mich, ob es auch eine Möglichkeit gibt, diesen String, der aus der OPTION-ID kommt, direkt als Variablennamen auszuwerten und damit auf eine Fallunterscheidung verzichten zu können.

Denn meine Auswahlliste ist 3-stufig und um aus insgesamt 860 Varianten die eindeutige Artikel-Auswahl zu bekommen, muss ich auf meinem Weg eine kilometerlange case-Liste bauen, wo es ja eigentlich nur darum geht:

ModellAuswahlliste(Modell)
Liste = Marke + Modell;
innerHTML = Liste;

nur sollte dann als Ergebnis nicht VWGOLF da stehen, sondern eben die Auswahlliste, die in der Variablen VWGOlf hinterlegt ist.

Geht sowas?

Lieben Dank und schöne Grüsse
Claudia

  1. Liebe ClaudiaDZM,

    ich habe zugegebenermaßen Dein Posting nur knapp überflogen. Vielleicht findest Du erste Hilfe zu Deinem Problem in diesem Artikel?

    http://aktuell.de.selfhtml.org/artikel/javascript/verkettete-auswahllisten/

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
  2. Moin!

    Denn meine Auswahlliste ist 3-stufig und um aus insgesamt 860 Varianten die eindeutige Artikel-Auswahl zu bekommen, muss ich auf meinem Weg eine kilometerlange case-Liste bauen, wo es ja eigentlich nur darum geht:

    ModellAuswahlliste(Modell)
    Liste = Marke + Modell;
    innerHTML = Liste;

    nur sollte dann als Ergebnis nicht VWGOLF da stehen, sondern eben die Auswahlliste, die in der Variablen VWGOlf hinterlegt ist.

    Geht sowas?

    Ja, sowas geht. Benutze ein Array.

    In Javascript gibts rein technisch betrachtet zwar nur numerisch indizierte Arrays, aber das, was man unter "assoziatives Array" kennt, funktioniert ebenfalls prima und genau so, es ist technisch nur kein Array, sondern ein Objekt nur mit Eigenschaften und ohne Methoden.

    liste = {}; // Leeres Objekt  
    liste['vw'] = "htmlcode...";  
    liste['opel'] = "opelcode...";  
      
    // und später  
    innerHTML = liste[idvariable];  
    
    

    - Sven Rautenberg