Selectbox dynamisch füllen

  • Hi,


    ich möchte eine Selectbox mit Werten aus eine MySQL Abfrage füllen aber in der Box steht nur [object Object]


    mein Code:

    HandlerUser29.php

    ModelUser29.php

    PHP
    <?php
    namespace App\Ticket;
    
    class ModelUser29
    {
      public $user29;
    
    }

    TicketRepository.php

    custom.js

    wenn ich hier die Zeile


    $('#selectUser29SeiteKunden1').append( new Option( value) ) ;


    durch


    $('#selectUser29SeiteKunden1').append( new Option( JSON.stringify(value)) ) ;


    ersetze, steht


    {"user29":null,"de":"HKR->Buchführung prüfen"}


    in der Selectbox (und weitere Zeilen dieser Art).


    es soll aber nur "HKR->Buchführung prüfen" anezeigt werden.


    wer kann mir helfen?

  • Der Client, respektive JavaScript bekommt von Dir in JSON zurück. Du musst den entsprechenden Wert dort heraus extrahieren.

    Für {"user29":null,"de":"HKR->Buchführung prüfen"} wäre das auf JSON Ebene z.B. jsonVar.de.

    Du hängst mit .append( new Option(value) ) aber ein neu instanziiertes Objekt in das DOM, was zu String gerendert wird. Da kann nur [object Object] bei rauskommen.


    Mach es Dir doch einfacher und bereite die <option>-Felder auf Server Seite vor und sende das an den Client, dann brauchst Du das nur einzuhängen und gut is.

  • Wenn es mit value.de schon funktioniert, musst Du es nicht zwingend umbauen, war nur als Vorschlag gemeint. Ich würds wahrscheinlich so machen, evtl. sogar den kompletten select tauschen. Aber das musst Du wirklich selber wissen, Dein Weg ist ja nicht falsch, nur umständlicher, finde ich.

  • ich probiere es gerade mal aus, ich habe in index.php jetzt:


    PHP
    <select class="auswahlprogrammbereich form-control" id="selectUser29SeiteKunden1">
                    <?php foreach ($data AS $bereich) { ?>
                      <option value= <?php print($bereich->user29); ?>></option>;
                    <?php } ?>
                  </select>

    in der Selectbox steht aber nicht wie erwartet "HKR->Buchführung prüfen" sondern "Buchführung prüfen >". Muss da noch irgendein Typ gewandelt werden?

  • Das kann ich Dir nicht sagen, weil ich Deine Grundlage nicht kenne. Nach dem Beispiel-JSON, das Du in #1 gepostet hast, müsste da sogar null rauskommen.

    Heißt also: Du verwendest eine andere Datengrundlage, als die hier gezeigte, da wird alles weitere zum Ratespiel...

Jetzt mitmachen!

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