带有无线电输入的AngularJS ng-repeat

时间:2015-10-01 18:23:34

标签: angularjs 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>

http://jsfiddle.net/1xgsqL67/

我在$ index的availabledOptions轨道中尝试了ng-repeat =“选项”,也没有使用name属性,但它仍然不起作用。

提前致谢!

1 个答案:

答案 0 :(得分:1)

尝试以下方法:

ng-model="$parent.selectedOption"

我的理解是ng-repeat创造了它自己的范围,你必须上升一级。