x-herbert: Zwei sich gegenseitig beeinflussende Pulldown-Menüs

Moin,

ich habe eine recht vertrackte Geschichte in einer Auswahl mit zwei voneinander abhängigen Auswahlmenüs

Menü 1       Menü 2
-alle-       -alle-
Ort1         Kat1
Ort2         Kat2
Ort3         Kat3

Ich möchte:
wenn der User eine Auswahl im Menü 1 macht nur die möglichen Kategorien aus Menü 2 angezeigt werden und wenn der User eine Auswahl aus Menü 2 trifft nur die möglichen orte aus M1 angezeigt werden.

Was ich hinbekomme, ist die hirarchische Änderung also z.B. bei Auswahl Ort => Katergorie anzeigen mit onChange="zeigeKat(this.value)" im select von M1 und dass über JavaScript nur noch die möglichen Kategorien im M2 anzeige.

Problem: wenn ich im M2 auch ein onChange habe, wird das ja gestartet, wenn ich den Ort ändere (onChange => JavaScript => Menüwechsel...) und das will nun die Orte wechseln was wiederum das dort implementierte onChange aufruft ... usw.

Auswahlen im M1
Ort1 => Kat1 + Kat2
Ort2 => Kat2 + Kat3
Ort3 => Kat3
demnach Auswahl in M2
Kat1 => Ort1
Kat2 => Ort1 + Ort2
Kat3 => Ort2 + Ort3

Für die Funktionen hätte ich in den Values z.B. folgendes mitgeliefert
<option value="Ort1_1.1.0">Ort1</option> d.h. zeige aus M2 die Werte 1, 2 an 3 nicht

Wie bekomme ich den gegenseitigen Aufruf in den Griff?????!!?!?

Gruss x-herbert

  1. nabend,

    ich habe eine recht vertrackte Geschichte in einer Auswahl mit zwei voneinander abhängigen Auswahlmenüs

    ich glaube die Kollegen in diesem Beitrag hatten ein vergleichbares Problem.

    Guck mal ob die dort angebotenen Lösungen weiterhelfen.

    Seppel

  2. hallo,

    Ich möchte:
    wenn der User eine Auswahl im Menü 1 macht nur die möglichen Kategorien aus Menü 2 angezeigt werden und wenn der User eine Auswahl aus Menü 2 trifft nur die möglichen orte aus M1 angezeigt werden.

    Das halte ich nicht für eine gute Idee. Außerdem ist das, falls ich dich denn richtig verstanden habe, keine lineare Hierarchie mehr, sondern es gibt wechselnde Hierarchieebenen. Zwar könnte es möglich sein, mit break zu experimentieren, aber ich sehe nicht so ganz, wie du die jeweils gegenseitigen Änderungen in eine Schleife oder eine Bedingung packen könntest.
    Mach es doch anders: bleibe bei deiner linearen Hierarchie und laß bei Änderung bzw. Auswahl in Menü 2 einfach noch ein drittes Menü aufrufen. Das braucht dann keinen "onchange" mehr. Deine Hierarchie sähe dann so aus:
      - Orte
        - Kategorien
          - spezifizierte Orte
    Elegant wäre es auch, wenn Menü 2 und Menü 3 überhaupt erst angezeigt werden, sobald im übergeordneten Menü etwas angewählt wurde.

    Für die Funktionen hätte ich in den Values z.B. folgendes mitgeliefert
    <option value="Ort1_1.1.0">Ort1</option> d.h. zeige aus M2 die Werte 1, 2 an 3 nicht

    Ohne Kenntnis deines Scripts sagt das gar nichts über die Funktionsfähigkeit aus.

    Wie bekomme ich den gegenseitigen Aufruf in den Griff?

    Dir ist bekannt, daß es in SELFHTML die Quickbar gibt, die so etwas Ähnliches demonstriert? Allerdings nutzt sie eine Framekonstruktion. Der verwendete Code läßt sich im Quelltext von http://de.selfhtml.org/navigation/quickbar/liste.htm nachlesen. Er läßt sich, wenn deine Auswahllisten länger werden, auch in Arrays packen. Wie das funktionieren kann, zeigt dir eine meiner Seiten.

    Grüße aus Berlin

    Christoph S.

    --
    Visitenkarte
    ss:| zu:) ls:& fo:) va:) sh:| rl:|