首页 > 解决方案 > 如何在Angular JS的选择更改方法中仅获取没有索引的值?

问题描述

这是我的 HTML 代码。

<select class="form-control" (change)="onChange($event)" 
[ngModel]="user" name="user" >              
<option *ngFor="let user of users async as users;" 
[ngValue]="user.userid">{{user.userName}} </option>                                                          
</select>

这是我在组件中的代码

onChange($event)
{

   this.userid = $event.target.value;
   console.log(this.userid);
}

当我记录值时。假设用户有 id - XYZ。它被记录为

1: (Index of the selection)
XYZ 

如何在没有索引的情况下仅获得价值?

标签: angularjsselectngfor

解决方案


您无需将 传递$eventonChange()即可获取选定的选项值。Select-tag的[ngModel]将为您保存该实例。 我会将“用户”模型重命名selectedUser为更合适的名称。

像这样试试

<select class="form-control" (change)="onChange()" 
[ngModel]="selectedUser" name="user" >              
    <option *ngFor="let user of users async as users;" 
    [ngValue]="user.userid">{{user.userName}} </option>                                                          
</select>

在你的组件中

export class YourComponent {
  selectedUser: User;

    onChange()
    {
       console.log(this.selectedUser);
    }
    //other stuff
}

推荐阅读