BaBa: Es funktioniert!

Beitrag lesen

1.) (...) Ist daher folgendes möglich: Wenn ich das erste Auswahlmenü ändere, dass die darunterliegende Menüs erstmal leer sind bzw. das dritte sollte auf alle Fälle leer sein bis ich im zweiten etwas gewählt habe.

Das wäre die best practice: Im Event listener change() initial erstmal alles zurücksetzen und dem User durch entsprechende "lädt..."-Texte klarmachen, dass etwas geschieht. Dann im Callback (success() der post-Funktion) Deine Listen wieder befüllen, bzw. im Callback der ersten Liste die change-Funktion der zweiten auslösen. Dazu empfiehlt es sich mal wieder die Funktion, die bei change() ausgeführt werden soll nicht direkt im change() zu notieren.

2.) Mein Scripte habe ich im Fuß der Seite stehen.

Wo du die Scripte stehen hast ist nicht relevant.

Ich muss es in die Daten (auslesen-serie.php) packen, warum?

Ich vermute stark, dass Du die Listener nicht sorgfältig gesetzt hast. Das ist in gefühlten 99% der Fälle die Ursache. Du möchtest die Listener (.change()) immer nach der Einbindung des jeweiligen Elements in's DOM erstellen. Das bedeutet im Normalfall innerhalb document ready. Soweit so gut und funktioniert ja auch im Falle der ersten Liste. Wenn Du aber Elemente dynamisch per AJAX ins DOM (nach-)lädst kann logischerweise der Listener auch nichts machen, da er zum Zeitpunkt seines Aufrufs keine Listen gesehen hat. Du möchtest also

  • entweder die Listen von Anfang bis Ende im DOM haben und nur die Elemente (option) austauschen
  • oder den Listener ebenfalls im Callback des AJAX request erneuern.

Es ist wichtig, dies zu verstehen. Wenn Du noch dazu fragen hast, melde Dich nochmal.

Cheers,
BaBa

--
BaBa kommt von Basketball