JSON-Objekt an Radio-Button in angularjs binden

8

Ich versuche also Radio-Buttons an Objekte zu binden. Ich habe eine Stunde lang versucht, das herauszufinden und endlich die Niederlage zuzugeben. Folgendes habe ich bekommen:

%Vor%

Das kantige Zeug:

%Vor%

Momentan, wenn ich versuche, auf einen Radioknopf zu klicken, passiert nichts, es wird nicht einmal markiert. Ich bin mir sicher, dass es eine wirklich einfache Lösung dafür geben muss. Das Endziel ist, dass currentCustomer den Kunden in der Radioauswahl berücksichtigt.

    
CodesLikeA_Mokey 29.04.2013, 22:25
quelle

3 Antworten

14
%Vor%

Der Schlüssel hier ist der ng-value="theCustomer . Auf diese Weise weiß angular, welches Objekt ausgewählt ist. Der HTML-Code value kennt nur String-Werte und kann keine Objekte zuordnen.

Wenn Sie den obigen Code einfügen, spiegelt das Radio das Modell wider, selbst wenn es programmatisch geändert wird. Außerdem können Sie die $parent im ng-Modell nicht vergessen, da ng-repeat einen neuen Bereich erstellt.

    
CodesLikeA_Mokey 16.06.2014, 20:05
quelle
4

Scheinbar kann es etwas schwierig sein, eine Radiogruppe innerhalb einer ng-Wiederholung arbeiten zu lassen. Das Problem besteht darin, dass ng-repeat einen eigenen untergeordneten Bereich erstellt. Eine Lösung besteht darin, das Modell an das $ parent zu binden. Dieser Thread gibt ein Beispiel.

Ich habe auch eine Arbeitsgeige erstellt, die deinem Beispiel ähnlicher ist.

Im Wesentlichen denke ich, dass Ihr HTML der einzige Punkt ist, der überarbeitet werden muss:

%Vor%     
rGil 30.04.2013 00:34
quelle
3

Aufgrund der Vererbung des Bereichs können Sie mehr über das Problem hier .

Eine der Lösungen, die ich in einem solchen Fall verwende, ist das Binden des Objekts an eine Objekteigenschaft anstelle eines primitiven Werts wie ng-model="form.currentCustomer" .

Demo: Plunker

    
Arun P Johny 30.04.2013 03:30
quelle

Tags und Links