Binden JSON-Objekt eines HTML-Elements
Ich soll binden ein JSON-Objekt um ein HTML-element.
z.B.
Ich habe ein Objekt "person" mit den Attributen "Vorname", "Nachname"
<div class="person-list">
<div class="person-list-item">
<div>John</div> ---> bind it to person.firstName
<div>Smith</div> ---> bind it to person.lastName
</div>
</div>
so, wenn ein Wert des HTML-elements verändert wird, dann wird auch das Objekt person wird aktualisiert.
ist das möglich, in irgendeiner Weise?
benutze ich:
- jquery
- ASP.NET MVC-3
- Verwenden Sie ein MVC-framework?
- und wie erwarten, dass das html-element geändert werden? und warum das die Sache ändern Sie Ihre html-Elemente aktualisieren können, die json-gleichzeitig auch??
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie dies tun, eine Menge in Ihre Anwendung, möchten Sie vielleicht bringen, die in einer Bibliothek wie der ausgezeichnete Knockout.js, die verwendet MVVM zu tun-Bindungen, wie Sie beschreiben.
Ihren markup-Code würde wie folgt Aussehen:
Und in Ihrem JavaScript:
Können Sie auch verwenden, einen Datensatz, wenn es viele "Leute." Versuchen Sie dieses tutorial, wenn Sie erfahren möchten, wie das geht: Arbeiten mit Listen und Sammlungen.
Weitere nützliche links:
Erste, hinzufügen
id
Attribute auf Ihre markup-Symbole (man könnte dies mit dem DOM, aber um der Klarheit Willenid
s sind wahrscheinlich am besten geeignet für dieses Beispiel):Benutzen eine jQuery event handler zum aktualisieren der Felder, wenn Sie geändert werden (dies ist eine ineffiziente Lösung, aber bekommt den job getan - Gedanken über die Optimierung sobald Sie etwas funktionales):
Nun jedes mal, wenn die Felder aktualisiert werden, Ihr Objekt zu.
Können Sie Parsen der JSON verwandeln es in ein JavaScript-Objekt:
Wenn ich deine Frage verstanden richtig, sollte man haben, JSON, die wie folgt Aussehen:
So können Sie einfach eine Schleife durch den Menschen etwa so:
Fiddle: http://jsfiddle.net/RgdhX/2/
Einfachen one-way-Ansatz mit jquery...
dann in die Seite...
Ich empfehle einen Blick auf Knockout. Einrichten der data binding, wie Sie sind, suchen, ist sehr einfach mit ihm.
Können Sie mit einem MVC/MVVM libereries so ist Backbone.js oder Knockoutjs.