AngularJS ng-repeat 无线电输入
AngularJS ng-repeat with radio inputs
我有一个选项列表作为枚举:
var Options = {
Option0: 0,
Option1: 1,
Option2: 2,
Option3: 3,
Option4: 4
};
以及可用选项的子列表:
var availabledOptions = [
Options.Option0,
Options.Option2,
Options.Option4
];
然后我尝试将可用选项列表显示为无线电输入,但它不起作用,我想知道为什么。 $scope.selectedOption 未更新。
function main($scope) {
$scope.availabledOptions = availabledOptions;
$scope.selectedOption = Options.Option2;
}
</script>
<div ng-app ng-controller="main">
<ul>
<li ng-repeat="option in availabledOptions">
<input name="options" type="radio" ng-model="selectedOption" ng-value="option">option #{{option}}
</li>
</ul>
selected option: option #{{selectedOption}}
</div>
我尝试了 ng-repeat="option in availabledOptions track by $index" 并且也没有使用 name 属性,但它仍然不起作用。
提前致谢!
尝试以下操作:
ng-model="$parent.selectedOption"
我的理解是ng-repeat
创建了它自己的作用域,你必须上一层。
我有一个选项列表作为枚举:
var Options = {
Option0: 0,
Option1: 1,
Option2: 2,
Option3: 3,
Option4: 4
};
以及可用选项的子列表:
var availabledOptions = [
Options.Option0,
Options.Option2,
Options.Option4
];
然后我尝试将可用选项列表显示为无线电输入,但它不起作用,我想知道为什么。 $scope.selectedOption 未更新。
function main($scope) {
$scope.availabledOptions = availabledOptions;
$scope.selectedOption = Options.Option2;
}
</script>
<div ng-app ng-controller="main">
<ul>
<li ng-repeat="option in availabledOptions">
<input name="options" type="radio" ng-model="selectedOption" ng-value="option">option #{{option}}
</li>
</ul>
selected option: option #{{selectedOption}}
</div>
我尝试了 ng-repeat="option in availabledOptions track by $index" 并且也没有使用 name 属性,但它仍然不起作用。
提前致谢!
尝试以下操作:
ng-model="$parent.selectedOption"
我的理解是ng-repeat
创建了它自己的作用域,你必须上一层。