Есть ли способ показать ранее выбранный вариант в раскрывающемся списке - PullRequest
0 голосов
/ 20 мая 2019

У меня есть элемент <select> на моей html-странице.<option> s даны через цикл.Выбранное значение сохраняется с помощью ng-model.Эти данные теперь передаются в базу данных.В следующий раз, когда эта страница перезагрузится, я бы хотел, чтобы поле <select> содержало ранее выбранную опцию.Есть ли способ сделать это?

Я видел, что ng-model обычно заполняет текстовые поля самостоятельно.Я пытался сделать то же самое с <select> - <option>, но это не работает


<select ng-model="option">
  <option value = "" disabled selected>---Choose an Option--</option> 
  <option ng-repeat = "x in option" value="x">{{x}}</option>
</select> 

1 Ответ

0 голосов
/ 20 мая 2019

При выборе из массива примитивов используйте директиву ng-options:

angular.module("app",[])
.controller("ctrl", function($scope) {
    $scope.options=["hello","world",1,2,3];

    //set previously selected option
    $scope.option = "world";
    
})
<script src="//unpkg.com/angular/angular.js"></script>
<body ng-app="app" ng-controller="ctrl">
    <select ng-model="option" ng-options="item for item in options">
         <option value = "">---Choose an Option--</option> 
    </select>
    <br>selected={{option}}
<body>

Можно выбрать, используя ng-repeat с массивом объектов, но не с массивом примитивов. Под капотом директива <select> аннотирует каждый параметр информацией об отслеживании. Он не может комментировать примитивы.

Для получения дополнительной информации см.

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