AngularJS - как установить значение Select на основе конкретного свойства JSON? - PullRequest
0 голосов
/ 29 сентября 2018

Я новичок в AngularJS, и у меня возникают проблемы с установкой выбранного значения ng-модели Select.

Вот моя структура данных:

[{"ID":0,"Name":"G"},{"ID":1,"Name":"PG"}]

Вотмой HTML:

<div class="col-md-8" ng-init="GetAllRatings()">
      <select ng-model="InputMovieRating" ng-options="rating.Name for rating in ratings"></select>
</div>

И я хочу сделать это:

$scope.InputMovieRating = 'PG';

Но это не работает.То, что я нашел, работало, так это перебирал рейтинги и что-то вроде этого:

    var selectedRating = $scope.ratings[0]; //default
    for (var i = 0; i < $scope.ratings.length; i++)
    {
        if($scope.ratings[i].Name == 'PG')
        {
            selectedRating = $scope.ratings[i];
        }
    }
    $scope.InputMovieRating = selectedRating;

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

Ответы [ 2 ]

0 голосов
/ 29 сентября 2018

попробуйте следующее

<div class="col-md-8" ng-init="GetAllRatings()">
  <select ng-model="InputMovieRating" ng-options="rating.Name as rating.Name for rating in ratings"></select>
</div>

, если у вас есть асинхронная загрузка данных, установите значение модели

  $scope.InputMovieRating = "PG";

после завершения загрузки данных.

Демо

0 голосов
/ 29 сентября 2018

Возможно, вы пропустили назначение объекта свойству. То, что вы добавили, это просто значение (PG)

$ scope.InputMovieRating = {"ID": 1, "Name": "PG"}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...