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?

    Einmal editiert, zuletzt von Mia (16. November 2016 um 13:34)

  • 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!