Ankündigung

Einklappen
Keine Ankündigung bisher.

Auf den Namen des Keys eines Objectes zugreifen

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Auf den Namen des Keys eines Objectes zugreifen

    Mein HTML Code:

    HTML-Code:
    <div class="col-lg-4 col-md-4 col-sm-4 sajax" data-object="user" data-view="single" data-refresh="1000">
     <h4>User (Single)</h4>
      <span data-field="username"></span>
      <span data-field="userid"></span>
    </div>
    Dazu gibt es eine Ajax abfrage, die ein JSON Objekt zurückgibt, das so aussieht:

    Code:
    Object { username: "Max Mustermann", userid: 7452734 }
    Wenn ich die Rückgabe in data packe, kann ich die Daten so abfragen data.username oder galt data.userid.

    Ich würde aber gerne die Keys des Objektes auslesen, in diesem Fall also also "username" und "userid" und nicht die values. Oder geht das tatsächlich nur über eine key, value Schleife?

    Im Nachgang würde ich dann gerne durch alle <span> Elemente iterieren, was ich mir in etwa so vorstelle:

    Code:
    element.children('span').each(function(k, v) {
    
            var fieldname = $(this).data('field');
            $(this).html(data.fieldname);
    
     });
    Damit möchte ich erreichen, dass alle <span> Elemente einer sajax-Klasse automatisch nachgeladen (und aktualisiert) werden.

    Danke für einen Tipp!























    Restaurant Bewertungsportal yumee.de


  • #2
    https://developer.mozilla.org/de/doc...ts/Object/keys
    ist die Lösung um an die Schlüssel heranzukommen.

    Kommentar


    • #3
      Span ist nicht die beste Wahl, für die Frage aber vollkommen egal.
      Wenn Du mehr derartige Aufgabenstellungen hast, wäre VUE.JS überlegenswert.

      mehr als eine Zeile braucht es nicht:

      Code:
      <!doctype html>
      <html lang=de>
        <meta charset=UTF-8>
        <title>User</title>
      <div class="col-lg-4 col-md-4 col-sm-4 sajax" data-object=user data-view=single data-refresh=1000>
       <h4>User (Single)</h4>
        <span data-field=username></span>
        <span data-field=userid></span>
      </div>
        <script>
          document.querySelectorAll('[data-object=user] span').forEach(_=>_.innerHTML={username:"Max Mustermann",userid:7452734}[_.dataset.field]);
        </script>

      Kommentar


      • #4
        Zitat von kaminbausatz Beitrag anzeigen
        Span ist nicht die beste Wahl, für die Frage aber vollkommen egal.
        Wenn Du mehr derartige Aufgabenstellungen hast, wäre VUE.JS überlegenswert.
        der grose hammer angular, zum reinkommmen und lernen eher handlebars, underscore oder sonstwas in der art.

        Kommentar

        Lädt...
        X