ハマり所です。。 ng-repeat内のng-modelはスコープが違うのでうまく動きません。 解決方法は下記のようにキーを渡してスコープ内でOverwriteされないようにする。 controller $scope.cover = {selected: 0}; view <input type="radio" id="cover{{$index}}" name="cover" ng-model="cover.selected" ng-value="$index"> 参考:https://github.com/angular/angular.js/issues/1100