Angular 2问题获取选择选项值

标签 angular

我有一个选择

<select name='shape_id' ngModel (change)='changeShape($event.target.value)'>
  <option *ngFor="let shape of shapes" [ngValue]="shape.id">{{shape.name}}</option>
</select>

这是数据。

  shapes = [
    {id:'1', name:'Angle'},
    {id:'2', name:'Bar'},
   ];

我无法获取值。

 changeShape(shape){
    console.log(shape);
  }

这输出“0:1”,但我想要值 1。

这是选项在检查器中的样子。

<option value="0: 1" ng-reflect-ng-value="1">Angle</option>

如何获取id值1?

最佳答案

将 [ngValue] 更改为 [value]

  <select name="shape_id" (change)="changeShape($event.target)">
    <option *ngFor="let shape of shapes" [value]="shape.id">
      {{shape.name}}
    </option>
  </select>

并将形状调整为 shape.value。

changeShape(shape){
  console.log(shape.value);
}

关于Angular 2问题获取选择选项值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40923928/

相关文章:

arrays - Angular 8 : Arrange array sequences by hour

angular - 将 vanilla-tilt.js 添加到 Angular 6 组件(Angular 组件中的外部 JS 库)

angularjs - 在 Angular 2 中发出 http POST 请求

javascript - 在 angular2 中的组件之间共享和过滤值

angular - 使用 RxJS Marbles 测试 Angular 响应式表单

angular - ngrx 效果 - 流在完成之前取消以前的流

angular - 如何在创建 ionic 应用程序时指定 Angular 版本

javascript - 使用清晰设计系统构建 Angular 2 应用程序

angular - “mat-placeholder”不是已知元素

angular - 构建 Angular2 应用程序时找不到模块 './$data'