bagaimana cara membuat dropdown memilih nilai tertentu untuk mendapatkan id dari database?

Kode di bawah ini menampilkan daftar dropdown dari penggunaan ng-repeat. Ketika saya mengedit entitas ini, saya harus membuatnya menunjukkan nilai tertentu yang sudah dipilih daripada hanya menampilkan seluruh daftar. Saya tahu bahwa saya dapat memasukkan kata kunci terpilih ketika saya ingin memilih nilai tertentu. Lalu bagaimana jika saya menggunakan ng-repeat untuk mengisi dropdown? Bagaimana cara membuat dropdown memilih nilai tertentu menggunakan id?

<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>


person user13151042    schedule 03.04.2020    source sumber


Jawaban (1)


Untuk menetapkan nilai <select> di AngularJS, Anda perlu mengubah variabel yang ditetapkan sebagai ng-model ke salah satu nilai dalam opsi Anda.

Dalam kasus Anda, Anda memiliki field.value sebagai ng-model, dan opsi Anda menggunakan atribut name sebagai labelnya dan atribut id sebagai nilainya. Agar salah satu item di dropdown.clienteleOptions dipilih secara default, Anda perlu menyetel field.value ke atribut id dari entri terkait di dropdown.clienteleOptions.

Bayangkan opsi dan bidang Anda terlihat seperti ini:

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

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

Di pengontrol Anda di suatu tempat, Anda akan memiliki sesuatu seperti ini untuk memilih tes 2:

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

Atau untuk membuatnya lebih dinamis:

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