Как заставить выпадающий список выбрать определенное значение из получения идентификатора из базы данных? - PullRequest
0 голосов
/ 03 апреля 2020

Код ниже показывает раскрывающийся список с использованием ng-repeat . Когда я редактирую эту сущность, я должен заставить ее показывать уже выбранное значение, а не просто показывать весь список. Я знаю, что могу поставить ключевое слово selected , когда хочу выбрать определенное значение. Тогда что, если я использовал ng-repeat, чтобы заполнить выпадающий список? Как я могу сделать выпадающее меню выбрать определенное значение, используя идентификатор?

<div ng-if="field.name=='ClienteleId'" class="input-group inputFill">
    <select ng-disabled="defaultSaveButtons[$index]" class="form-control inputFill2"
    ng-model="field.value" ng-options="clientele.id as clientele.name for clientele in     dropdown.clienteleOptions  | orderBy:'name'  track by clientele.id"></select>
 /div>

1 Ответ

0 голосов
/ 03 апреля 2020

Чтобы установить значение <select> в AngularJS, вам нужно изменить переменную, установленную как ng-model, на одно из значений в ваших параметрах.

In В вашем случае field.value в качестве ng-model, а ваши параметры используют атрибут name в качестве метки и атрибут id в качестве значения. Чтобы один из элементов в dropdown.clienteleOptions был выбран по умолчанию, вам необходимо установить field.value для атрибута id соответствующей записи в dropdown.clienteleOptions.

Представьте, что ваши параметры и поля выглядят так :

$scope.clienteleOptions = [
    {id: 1, name: 'test 1'},
    {id: 2, name: 'test 2'}
];

$scope.fields = [
    {name: 'ClienteleId', value: null}
    // ...
];

В вашем контроллере где-то у вас будет что-то вроде этого, чтобы выбрать тест 2:

$scope.fields[0].value = 2;

Или сделать его более динамичным c:

$scope.fields.forEach(function (field) {
    if (field.name === 'ClienteleId') {
        field.value = 2;
    }
});
...