Несколько переключателей Angularjs, автоматический выбор, если присутствует только один

Мне удалось создать приложение angularjs с несколькими зависимыми переключателями.

Но есть требование по умолчанию выбрать переключатель, если присутствует только один.

Пробовал материал в Angularjs: переключатель отмечен, но он не работает для нескольких радио кнопки.

Объяснение кода:

HTML-код: у меня есть два переключателя. Второй набор переключателей генерируется на основе первого.

<div>
            <ul >
              <li> Part One : </li>
                        <li ng-repeat="f in Input"><input type="radio" name="oneInput" ng-value="f" ng-model="$parent.One">&nbsp;{{f.Name}}&nbsp;</input></li>
    </ul>
    </div><br/>
    <div>
              <ul>
                  <li> Part Two : </li>
                  <li ng-repeat="u in filteredUser = (One.User | filter: { Valid: 'Y' })"><input type="radio" name="userInput" ng-value="u" ng-model="$parent.Two">&nbsp;{{u.Name}}&nbsp;</input></li>
            </ul>
    </div><br/>

Если я выбираю переключатель в первом наборе, а во втором наборе есть только один переключатель, он должен быть выбран по умолчанию.

Например, если я выбираю D, я получаю переключатель D2, который должен быть выбран.

Полный код @ http://plnkr.co/edit/dY2syxNWobxHpiVKIuux?p=preview

Ценю ваш ответ.


person Mydeveloperpal    schedule 31.07.2014    source источник


Ответы (1)


см. здесь: http://plnkr.co/edit/QVvN6rP3wlyxbOJaAGHQ?p=preview

 $scope.$watch('One', function(value) {

    if (value.Name) {

      var users = $filter('filter')($scope.Input, value);

      var vaildUsers = $filter('filter')(users[0].User, {
        Valid: "Y"
      });


      if (vaildUsers.length == 1) {

        $scope.Two = vaildUsers[0];

      } else

      {

        $scope.Two = {};

      }
    }

  });
person sylwester    schedule 31.07.2014