У меня есть простая форма с 3 переключателями с одинаковыми name="myNumber"
и методом для обработки ng-change
события
<form name="myForm" ng-controller="ExampleController">
<label>
<input type="radio" ng-model="number" name="myNumber" value="1" ng-change="handleChange()" /> 1
</label>
<label>
<input type="radio" ng-model="number" name="myNumber" value="2" ng-change="handleChange()" /> 2
</label>
<label>
<input type="radio" ng-model="number" name="myNumber" value="3" ng-change="handleChange()" /> 3
</label>
</form>
В обработчике изменений я просто устанавливаю значение $ scope.model в «3»
angular.module('radioExample', [])
.controller('ExampleController', ['$scope', function($scope) {
$scope.number = "1"; // initial value
$scope.handleChange = function() {
$scope.number = "3"; // what I want to do
};
}]);
Затем я пытаюсь нажимать на переключатели, чтобы вызвать событие $scope.handleChange
, чтобы увидеть, работает ли оно, но после 2-го щелчка вперед результат будет следующим:
Редактировать 1: пример обновления скрипки
Я добавил это <div>
в виде простого журнала на экран, результат $scope.number
всегда = "3", что ожидается. Что не так, это проверенное состояние переключателей
<div>
$scope.number = {{number}}
</div>
Скриптовая ссылка: http://jsfiddle.net/ujem8ndx/2/