Dropdown Feld beim bearbeiten wieder befüllen

  • Hallo,


    ich stehe mal wieder vor einem Problem. Und zwar habe ich zwei Dropdown Felder. Das zweite wird dynamisch gefüllt, in Abhängigkeit mit dem ersten. Dieses mache ich wie folgt:



    Dann habe ich noch einen kleinen jQuery Teil


    JavaScript
    $("#a_lager").change(function(){
       $("#a_lagerflaeche").load("inc/auslesen-lagerflaechen.php",{id_hauptkategorie: $('#a_lager').val()});
    });


    Die auslesen-lagerflaechen.php hat folgenden Inhalt



    Wenn ich einen neuen Artikel anlege klappt dieses auch wunderbar. Wenn ich einen Artikel bearbeite habe ich das Problem, dass das erste Dropdown richtig ausgelesen wird, auf diese Zeile im oben genannten Code achten:


    PHP
    <?php echo ($a_lager == $array['la_code'] ? "selected" : "");?>


    allerdings das zweite, welches über jQuery geladen wird nichts davon weiß und dementsprechend die Auswahl auf "-- Bitte wählen --" zurückgesetzt wird. Wie kann ich erreichen, dass das zweite Dropdown ebenfalls befüllt wird?

  • Das kommt daher, dass die JS (jQuery) Funktion nicht gestarted/angestoßen wird.
    Die wird ja nur per "onchange" gestartet.


    Was Du machen kannst:
    beim Laden der Seite weißt Du ja, ob ein Artikel angelegt, oder bearbeitet wird.
    Wenn bearbeiten (EDIT), dann startes Du die JS (jQuery) Funktion manuell 1 mal.


    Bsp:

  • Danke für deine Antwort. Ich habe es so eingesetzt



    Allerdings bleibt das zweite Dropdown leer. Wenn ich den Wert, welcher in $a_lagerflaeche steckt direkt einfüge, dann wird das zweite Feld auch befüllt



    Der Aufruf lautet dann so



    Der zweite Parameter benötige ich für das selected in der auslesen-lagerflaechen.php



    Warum wird der zweite Parameter nur übernommen, wenn ich diesen von Hand rein schreibe?


    EDIT


    Wenn ich ein hidden Feld einfüge:


    PHP
    <?php if (isset($_GET['artikel'])): ?>
    <input type="hidden" name="l_flaeche" id="l_flaeche" value="<?php echo $a_lagerflaeche ?>">
    <?php endif; ?>


    und meinen JS Code verändere



    funktioniert es plötzlich. Warum muss ich den Weg über ein verstecktes Feld gehen?

  • var lflaeche = $a_lagerflaeche;
    Kann ja nicht gehen.


    probier mal das:

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!