2016-05-12 10 views
0

Ich versuche Objektwert an Radio-Button zu binden. Mein Controller ist wie folgt.ANgular jS Radiobutton-Modell-Update

var app = angular.module('myApp', []) 
.controller('TestController',function($scope){ 
$scope.persons = [{ name: 'JOHN', isActive: false }, { name: 'Peter',  isActive: true }, { name: 'Sam', isActive: false }]; 
}) 

Wenn ich das Optionsfeld-Modell (isActive Änderungen true) klicken erstes Mal nach, dass, wenn ich wieder Modell Aktualisierung auf false nicht klicken.

https://jsfiddle.net/nuL4heut/

+0

Schauen Sie hier und vergleichen Sie Ihren HTML-Code mit dem folgenden: https: // docs.angularjs.org/api/ng/input/input%5Bradio%5D –

+0

Andrew, Danke Ich bin in der Lage, die Datensätze nach Dokument anzuzeigen und die richtige und falsche zeigt korrekt in Radio-Button.wenn ich "John" mein Modell wählen Wird auf "True" aktualisiert. Wenn ich "Peter" wähle, wird mein Vorgängermodell nicht auf "False" aktualisiert. – user2107843

Antwort

0

Sie können die Änderungen überprüfen ich im Code gemacht habe hier https://jsfiddle.net/nuL4heut/25/

Was ich geändert ist:

. Die Verwendung von ng-check anstelle von ng-model, beide funktioniert aber ng-check ist besser lesbar und ändert sich nicht in dem Objekt, wenn Sie das Optionsfeld

. Eine Funktion namens updatePerson, die beim Klicken auf den Radio-Button ausgelöst wird, ändert den Status Ihrer gewählten Person in "True" und den zuvor gewählten Wert auf "Falsch"

+0

Druid, Thanks Haben Sie es mit der Funktion gedanklich zu tun, indem Sie ngmodel funktionieren. Eine weitere Anmerkung ist, dass ng-check nicht den Radiobutton selektiert, wenn der Wert true ist. Also müssen Sie ngmodel und value = "true" – user2107843

+0

verwenden Gern geschehen, "ng-check" Auswahl der Radio-Taste, wenn die Bedingung in ihm erfüllt ist – amrdruid