Ich bin Radio-Schaltflächen dynamisch erstellen. ng-change='newValue(value)
wird nicht mehr aufgerufen, nachdem jeder Radiobutton einmal gedrückt wurde.Angular: radiobuttons beenden feuern "ng-change", nachdem jeder geklickt wurde
Das funktioniert: Durch Klicken auf die Optionsschaltflächen wird der Wert in foo/bar/baz geändert. http://jsfiddle.net/ZPcSe/19/
<div ng-controller="MyCtrl">
<input type="radio" ng-model="value" value="foo" ng-change='newValue(value)'>
<input type="radio" ng-model="value" value="bar" ng-change='newValue(value)'>
<input type="radio" ng-model="value" value="baz" ng-change='newValue(value)'>
<hr>
{{value}}
</div>
dieser Code nicht: Der {{value}} - "label" wird nicht aktualisiert, sobald jedes Optionsfeld wurde mindestens einmal gedrückt. Aparently ng-change wird nicht mehr ausgelöst.
<div ng-controller="MyCtrl">
<span ng-repeat="i in [0, 1, 2]">
<input name="asdf" type="radio" ng-model="value" value={{i}} ng-change='newValue(value)'>
</span>
{{value}}
</div>
Die controlles ist das gleiche jedes Mal:
var myApp = angular.module('myApp', []);
function MyCtrl($scope) {
$scope.value = '-';
$scope.newValue = function(value) {
$scope.value = value;
}
}
Vielen Dank für Ihre Hilfe.
Das scheint wie Magie - wie und wo heißt '$ scope.newValue'? Es gibt kein ng-change-Ereignis im HTML-Code, also wo wird es ausgelöst? – Richard
@Richard Es feuert nicht; es war eine Funktion in der ursprünglichen Frage, also kopierte ich es über; Ich denke, die 'console.log' wurde von einigen Debugging auf JSFiddle verlassen. –