Значение по умолчанию предварительно выбрано в поле выбора с опциями ng - PullRequest
0 голосов
/ 01 июня 2018

Я пытаюсь получить значение по умолчанию (из базы данных) в поле выбора, используя ng-options.

My view

<select class="form-control samlength modalinput" 
        ng-options="p.procid as p.procname for p in processes track by p.procid" 
        ng-model="p.procid">
  <option value="">-- choose an option --</option>
</select>

, где p.procid - это значение, полученное из базы данных.

Мои данные

procid  procname    time
    1   MyProcess   2018-05-30 13:34:54.097 3003162
    3   Testing     2018-05-31 18:31:32.467 3003162

Если выбрано procid равно 3, как я могу выбрать его по умолчанию?

К вашему сведению - я попробовал несколько ответовв других темах.Я тоже попробовал ng-init но ничего не помогло.

Ответы [ 2 ]

0 голосов
/ 04 июня 2018

Вы можете сохранить свой HTML как:

<select class="form-control samlength modalinput" 
        ng-options="p.procid as p.procname for p in processes track by p.procid" 
        ng-model="selectedProcess">
  <option value="">-- choose an option --</option>
</select>

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

function functiontofindIndexByKeyValue(arraytosearch, key, valuetosearch) {
    for (var i = 0; i < arraytosearch.length; i++) {
      if (arraytosearch[i][key] == valuetosearch) {
        return i;
      }
    }
    return null;
  }

Вызовите эту функцию следующим образом:

var index = functiontofindIndexByKeyValue($scope.processes, "procid", procid);
$scope.selectedProcess = $scope.processes[index];
alert(index);

Надеюсь, что это работает!

0 голосов
/ 02 июня 2018

Обновите свой HTML-код до этого:

<select ng-model="processSelected" 
     ng-options="p.procname for p in processes track by p.procid">
</select>

Затем в контроллере инициализируйте значение вашей модели следующим образом:

$scope.processSelected = $scope.processes[1];

Где $scope.processes - массив объектов процесса.

Пример Plunker

...