如何从下拉API

时间:2018-01-17 19:51:42

标签: angular rest

我有一个如下所示的API数组 -

    [
     "abcdefg",
     "xyshgje",
     "fjgyros"
    ]

我试图从angualr 2中的数组中捕获所选对象的值 -

<select (change)="onChangeofOptions($event.target.value)" name="someName" class="form-control">
                <option value="A">All</option><br>
                <option *ngFor="let tam of tamValues" value="tam">{{tam}}</option>
              </select>

上面的代码在从下拉列表中选择ALL时按预期打印(在控制台中)“A”。当我从数组列表中选择一个值时,它会打印“tam”。对数组的API调用如下所示 -

 ngOnInit() {
    this.http.get("http://example.url.com")
      .map((res: Response) => (
        res.json()
      ))
      .subscribe(result=> {
        this.tamValues= result;
      })
  }

我在这里做错了吗?我想从下拉列表中填充的数组中打印选定的值。

2 个答案:

答案 0 :(得分:2)

使用[value]="tam"

<select (change)="onChangeofOptions($event.target.value)" name="someName" class="form-control">
                <option value="A">All</option><br>
                <option *ngFor="let tam of tamValues" [value]="tam">{{tam}}</option>
              </select>

DEMO

答案 1 :(得分:1)

推荐的方法是将 ngModel ngModelChange 事件一起使用,如下所示

<select [(ngModel)]="selectedtam" (ngModelChange)="onChangeofOptions($event)">
   <option value="A">All</option><br>
      <option *ngFor="let tam of tamValues" value={{tam}}>{{tam}}</option>
</select>

DEMO