#javascript #html #angularjs
#javascript #HTML #angularjs
Вопрос:
У меня есть простая форма, которая отображает элементы и предоставляет переключатели. Переключатели отображаются так, как ожидалось. Моя цель — получить значение ‘item.chosen’ в функции selectRadioButton. Я получаю элемент, но item.chosen не определен. Что я здесь делаю не так?
HTML:
<div class="item" ng-if="ctrl.items" ng-repeat="item in ctrl.items">
<input type="radio" ng-model="item.chosen"
ng-value=true ng-click="ctrl.selectRadioButton(item)">
</div>
JS:
this.selectRadioButton = function(item){
if(item.chosen) {
console.log('Got the chosen value');
}
}
Комментарии:
1. Не могли бы вы вставить фрагмент шаблона туда, где вы определяете
ctrl
? Может$ctrl
быть, следует использовать вместо этого?2. Переключатели отображаются как ожидалось, что означает, что ctrl определен правильно.
Ответ №1:
Вот несколько примеров кода того, как вы должны работать с переключателями в AnuglarJS.
Контроллер:
angular.module('radioExample', [])
.controller('ExampleController', ['$scope', function($scope) {
$scope.color = {
name: 'blue'
};
$scope.specialValue = {
"id": "12345",
"value": "green"
};
}]);
HTML:
<form name="myForm" ng-controller="ExampleController">
<label>
<input type="radio" ng-model="color.name" value="red">
Red
</label><br/>
<label>
<input type="radio" ng-model="color.name" ng-value="specialValue">
Green
</label><br/>
<label>
<input type="radio" ng-model="color.name" value="blue">
Blue
</label><br/>
<tt>color = {{color.name | json}}</tt><br/>
</form>
Проверьте документацию для получения дополнительной информации