Jeannette: Zwei Formulare kombinieren?

Hallo,

folgendes Problem: Ich möchte eine Auswahlliste erstellen und je nachdem was in dieser ersten Auswahlliste ausgewählt wird, sollen sich die Auswahlmöglichkeiten in Auswahlliste2 ändern.

Beispiel:
In Auswahlliste1 gibt es die Auswahlmöglichkeiten Audi, VW und BMW.

Wenn ich in Auswahlliste1 Audi auswähle, soll es in Auswahlliste2 die Auswahlmöglichkeiten A4, A6 und A8 geben.

Wenn ich in Auswahlliste1 jedoch VW auswähle, soll es in Auswahlliste2 die Auswahlmöglichkeiten Golf, Polo und Passat geben.

Und wenn ich in Auswahlliste1 BMW auswähle, soll es in Auswahlliste2 die Auswahlmöglichkeiten 3er, 5er und 7er geben oder so.

Wie kriege ich sowas hin?

Vielen Dank schonmal.
Jeannette

  1. Hallo Jeannette.

    folgendes Problem: Ich möchte eine Auswahlliste erstellen und je nachdem was in dieser ersten Auswahlliste ausgewählt wird, sollen sich die Auswahlmöglichkeiten in Auswahlliste2 ändern.

    Hier einmal mein Vorschlag. Anmerkungen dazu:

        var categories = {  
          'Foo' : ['Foo1', 'Foo2', 'Foo3', 'Foo4'],  
          'Bar' : ['Bar1', 'Bar2', 'Bar3', 'Bar4'],  
          'Baz' : ['Baz1', 'Baz2', 'Baz3', 'Baz4'],  
          'Qux' : ['Qux1', 'Qux2', 'Qux3', 'Qux4']  
        }
    

    Natürlich wäre es auch möglich, das erste Auswahlfeld mittels Durchlaufens des categories-Objektes dynamisch per DOM-Methoden zu generieren, aber in diesem Fall sähen Nutzer ohne JavaScript rein garnichts.

    So sehen sie wenigstens das erste Auswahlfeld, was mich zugleich zur nächsten Anmerkung führt. Der gesamte Mechanismus sollte in gleicher Art und Weise auch noch einmal serverseitig bereitstehen, sodass in Abhängigkeit von der Auswahl im ersten Auswahlfeld das zweite Auswahlfeld mit den passenden Werten ausgegeben werden kann.

    JavaScript dient hier also nur dazu, um den gesamten Vorgang zu beschleunigen und Serverlast einzusparen.

    Um mein Script zu verstehen bedarf es in jedem Fall Kenntnis über die Methoden des http://de.selfhtml.org/javascript/objekte/node.htm@title=node-Objektes.

    Einen schönen Sonntag noch.

    Gruß, Ashura

    --
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
    „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
    [HTML Design Constraints: Logical Markup]
    1. Hallo Gunnar™.

      Hier einmal mein Vorschlag.

      Ich habe mittlerweile das Ganze unter Verwendung des http://de.selfhtml.org/javascript/objekte/options.htm#neue_elemente@title=Option-Objektes und der http://de.selfhtml.org/javascript/objekte/options.htm#allgemeines@title=options-Eigenschaft des select-Elementes etwas verkürzt.

      Einen schönen Sonntag noch.

      Gruß, Ashura

      --
      sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
      „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
      [HTML Design Constraints: Logical Markup]
      1. Hallo Gunnar™.

        Hier einmal mein Vorschlag.

        Hat jemand eine Idee, warum im IE this.options[this.selectedIndex].value gleich „“ ist? Bzw. warum this.options[this.selectedIndex] überhaupt keine value-Eigenschaft zu haben scheint?

        Einen schönen Sonntag noch.

        Gruß, Ashura

        --
        sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
        „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
        [HTML Design Constraints: Logical Markup]
        1. Vielen, vielen Dank!

          Jeannette :)

          1. Hallo Jeannette.

            Vielen, vielen Dank!

            Im IE muss es also nicht funktionieren?

            Einen schönen Sonntag noch.

            Gruß, Ashura

            --
            sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
            „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
            [HTML Design Constraints: Logical Markup]
        2. Hallo Gunnar™.

          Hat jemand eine Idee, warum im IE this.options[this.selectedIndex].value gleich „“ ist?

          Hierzu habe ich eine Lösung gefunden.

          Man sollte also einfach die value-Attribute im HTML setzen. Sicherheitshalber habe ich dennoch einen Workaround eingefügt, so dass es nun egal ist, ob ein value-Attribut gesetzt worden ist, oder nicht.

          Bzw. warum this.options[this.selectedIndex] überhaupt keine value-Eigenschaft zu haben scheint?

          Dies hängt vermutlich mit obigem zusammen. Merkwürdig ist nur, dass bei einem Schleifendurchlauf durch die Eigenschaften des Objektes zwar keine value-Eigenschaft auftritt, aber dennoch auf diese zugegriffen werden kann.

          Einen schönen Sonntag noch.

          Gruß, Ashura

          --
          sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
          „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
          [HTML Design Constraints: Logical Markup]