Уже 5 месяцев плотно занимаюсь разработкой в WEB на AngularJS. Периодически сталкиваюсь с проблемами, решаю их.
Вчера столкнулся с проблемой на AngularJS. Проблемой с input[radio].
Хочу сделать такой radiobutton.
Но, input[radio] не работает в блоке ng-repeat. Ну не передает он значение в переменную. Всё делал как в документации. Не работает и всё тут.
Оказалось что надо делать так:
<div ng-repeat="scheme in schemes">
<input type="radio" name="active" ng-model="rbtn.index" value="{{ $index }}">
</div>
В контроллере:
$scope.rbtn={index:0};
То есть, связка с такой вложенной переменной $scope.rbtn.index. В ней будет индекс выбранного значения. Потом сделаю перехват значения вот так:
$scope.$watch('rbtn.index', function (value) {
if (!value) return;
...
});
Вчера столкнулся с проблемой на AngularJS. Проблемой с input[radio].
Хочу сделать такой radiobutton.
Но, input[radio] не работает в блоке ng-repeat. Ну не передает он значение в переменную. Всё делал как в документации. Не работает и всё тут.
Оказалось что надо делать так:
<div ng-repeat="scheme in schemes">
<input type="radio" name="active" ng-model="rbtn.index" value="{{ $index }}">
</div>
В контроллере:
$scope.rbtn={index:0};
То есть, связка с такой вложенной переменной $scope.rbtn.index. В ней будет индекс выбранного значения. Потом сделаю перехват значения вот так:
$scope.$watch('rbtn.index', function (value) {
if (!value) return;
...
});
Или можно директивой ng-change.

Комментариев нет:
Отправить комментарий