Угловая повторяющаяся группа радиокнопок в списке

0

У меня есть "рекомендации", массив рекомендаций:

{Id: 1, Label: "option 1"},
{Id: 2, Label: "option 2"}

И "items", массив элементов вроде:

{Id: 1, Name: "Name 1", Recommend: recommendations[0]},
{Id: 2, Name: "Name 2", Recommend: recommendations[1]}

Теперь мне нравится показывать список элементов, для каждого элемента, показать имя элемента и группу переключателей, чтобы пользователь мог выбрать один из возможных вариантов "Рекомендовать".

Мой html выглядит так:

<div ng-repeat="i in viewModel.items">
  <div>
    {{i.Name}}
  </div>
  <div class="form-group">
    <label class="control-label col-md-3">Recommend this?</label>
    <div class="col-md-9">
        <div class="radio" ng-repeat="r in viewModel.recommendations">
            <label>
                <input type="radio" ng-model="i.Recommend" ng-value="r"/>
                {{r.Label}}
            </label>
        </div>
    </div>
    {{i.Name}}, {{i.Recommend.Label}}
  </div>
</div>
{{viewModel.items | json}}

Когда я нажимаю одну из опций для каждого элемента, я вижу соответствующую рекомендацию. Label изменяется правильно, поэтому кажется, что она привязана к модели ok.

Моя проблема заключается в том, что при начальной загрузке страницы группа переключателей каждого элемента не показывает текущую опцию, даже если "элементы", похоже, имеют один из возможных объектов Рекомендация. (Все переключатели не отмечены). Что мне не хватает?

  • 0
    Вы хотите настроить jsfiddle?
Теги:
ng-repeat

1 ответ

0

Вы должны установить значение "Рекомендовать" для привязки к $ scope.recommendations в начале.

angular.module('test', []).controller('testCtrl', function($scope) {
$scope.viewModel = {};
$scope.viewModel.recommendations = [{Id: 1, Label: "option 1"}, {Id: 2, Label: "option 2"}];
$scope.viewModel.items = [{Id: 1, Name: "Name 1", Recommend: $scope.viewModel.recommendations[0]}, {Id: 2, Name: "Name 2", Recommend: $scope.viewModel.recommendations[1]}]; });

jsFiddle: http://jsfiddle.net/rkgetptj/

  • 0
    при загрузке страницы Рекомендовать для каждого элемента уже задан первый вариант в рекомендациях.
  • 0
    Нет, любой вариант в рекомендациях.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню