如何从select标签上的事件中检索对象?

时间:2017-10-03 19:10:50

标签: javascript jquery html angular

我有一个select标记,可以从governorate数据模型数组动态获取其选项,如下所示:

<select [(ngModel)]="selectedGov" (ngModelChange)="onUpdateGov($event)">

    <option *ngFor="let gov of governorates">{{gov.code}}</option>

</select>

onUpdateGov方法:

onUpdateGov(newGov) {
     console.log(newGov);
}

此方法记录省级代码,我想接受来自事件的所有gov对象。 如何检索用户选择的整个省级对象

2 个答案:

答案 0 :(得分:1)

只需将ngValue添加到option

<option [ngValue]="gov" ....

demo

答案 1 :(得分:1)

当触发modelChange时,您将获得该选项的值。如果没有像您那样显式绑定值,则检索标记的文本值。您可以使用[value]=...绑定并获取字符串值,也可以使用[ngValue]=...获取实际的对象引用。

使用[ngValue]绑定后,对绑定模型的引用也将反映对象而不是字符串值(gov.code)。因此,您甚至可能不需要使用事件值,但可以依赖组件中的绑定属性。