tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
652
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Spakkn Spakkn ist offline Mitglied Bronze
    Registriert seit
    Jul 2004
    Beiträge
    29
    Hallo Leute.

    Ich habe ein kleines Problem, bei dem ich nicht recht weiter weiß. Ich möchte zwei Dropdown-Felder dynamisch mit Inhalten füllen. Auf meiner Webseite gibt es insgesamt drei Dropdown-Felder in einem Formular. Der Besucher wählt einen Punkt aus dem ersten Dropdown, danach wird das zweite Feld mit Daten gefüllt. Das funktioniert auch wunderbar.

    Nun möchte ich aber eine Stufe weiter und auch das dritte Feld dynamisch mit Daten füllen. Ich habe mir da mal einen kleinen Code gebastelt:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    
    function update_auswahl1()
    {
        var aufdruck_Auswahl = document.forms.verzeichnis.aufdruck_1;
        var drucktechnik_Auswahl = document.forms.verzeichnis.drucktechnik_1;
        drucktechnik_Auswahl.options.length = 0; // DropDown Menü entleeren
     
        if (aufdruck_Auswahl.options
            [aufdruck_Auswahl.selectedIndex].
            value == "Schriftzug einreihig")
            {
            drucktechnik_Auswahl.options[0] = new Option("Flex");
            drucktechnik_Auswahl.options[1] = new Option("Flock");
            drucktechnik_Auswahl.options[2] = new Option("Effekt (+2,50)");
            }
        else if (aufdruck_Auswahl.options
            [aufdruck_Auswahl.selectedIndex].
            value == "Schriftzug zweireihig")
            {
            drucktechnik_Auswahl.options[0] = new Option("Flex");
            drucktechnik_Auswahl.options[1] = new Option("Flock");
            drucktechnik_Auswahl.options[2] = new Option("Effekt (+2,50)");
            }
    }
     
    function update_farbe1()
    {
        var drucktechnik_Auswahl = document.forms.verzeichnis.drucktechnik_1;
        var farbe_Auswahl = document.forms.verzeichnis.farbe_1;
        farbe_Auswahl.options.length = 0; // DropDown Menü entleeren
     
        if (drucktechnik_Auswahl.options
            [drucktechnik_Auswahl.selectedIndex].
            value == "Flex")
            {
            farbe_Auswahl.options[0] = new Option("Schwarz");
            farbe_Auswahl.options[1] = new Option("Weiß");
            farbe_Auswahl.options[2] = new Option("Grün");
            }
        else if (drucktechnik_Auswahl.options
            [drucktechnik_Auswahl.selectedIndex].
            value == "Flock")
            {
            farbe_Auswahl.options[0] = new Option("Test1");
            farbe_Auswahl.options[1] = new Option("Test2");
            farbe_Auswahl.options[2] = new Option("Test3");
            }
    }

    Die erste Funktion wird per onchange aufgerufen. Die Daten des zweiten Dropdown-Feldes werden anhand der Auswahl von Feld 1 gefüllt. Wie gesagt, das funktioniert auch. Die zweite Funktion soll nun das dritte Dropdown-Feld anhand der Auswahl des zweiten Feldes füllen. Das klappt nicht, das Feld bleibt immer leer. In die Funktion geht er, das Feld wird schließlich geleert. Aber an der if-Abfrage hakt es...

    Ich hoffe, ich habe mein Problem verständlich geschildert und jemand hat eine Idee.

    Danke!
     

  2. #2
    Quaese Quaese ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Feb 2004
    Beiträge
    3.451
    Hi,

    die Syntax, um ein neues Options-Objekt zu erstellen lautet:
    Code :
    1
    
    new Option(text, value, defaultSelected, selected)
    Bei deinen Instanziierungen werden lediglich Texte (text) übergeben. Du sprichst jedoch Werte (value)
    an, die nicht existieren.

    Versuch mal Anweisungen mit folgender Struktur, um eine neue Option anzulegen:
    Code :
    1
    
    drucktechnik_Auswahl.options[0] = new Option("Flex", "Flex");
    Ciao
    Quaese
     
    Vielleicht muss man manchmal vom Weg abkommen, um nicht auf der Strecke zu bleiben!
    ----
    Der "Fortsetzungsroman" auf www.leuteforum.de

    New kind to realize large scalable projects with jQuery: jQuery SDK

  3. #3
    Spakkn Spakkn ist offline Mitglied Bronze
    Registriert seit
    Jul 2004
    Beiträge
    29
    Ahh, ich Depp. Das war's!
    Das war ja mal einfach. Vielen Dank!
     

Ähnliche Themen

  1. Dynamische DropDown Felder
    Von Kranetierli im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 17.09.07, 13:51
  2. Excel - Externe Daten im Dropdown-Menü
    Von Genjiro im Forum Office-Anwendungen
    Antworten: 2
    Letzter Beitrag: 22.07.07, 12:56
  3. Antworten: 3
    Letzter Beitrag: 20.07.07, 00:04
  4. Dropdown Menü zeigt falsches Menü
    Von Blattspinat im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 05.11.04, 09:42
  5. Antworten: 1
    Letzter Beitrag: 19.10.02, 22:46