2017-05-19 57 views
1
<select class="form-control" type="text" required (change)="onChangeLov($event)">> 
     <option value=""></option> 
     <option *ngFor ="let contact of contacts">{{contact.id}} - {{contact.name}}, {{contact.ptechnologyName}}, {{contact.mainlocationName}} </option> 
</select> 

我有這個我想要的只是發送onChangeLove($event)只有contact.id從ngFor ...任何建議我該怎麼做?在更改選擇發送ID?

進出口使用角2

回答

2

你可以把該選項的值屬性的ID。當您選擇一個選項時,它將作爲(更改)事件發射器發出的事件的目標發送。

您可以通過event.target ['value']在函數中獲取該值。這裏是一個例子:

import { Component, OnInit } from '@angular/core'; 

@Component({ 
    selector: 'example', 
    template: ` 

    <select class="form-control" type="text" required (change)="onChange($event)">> 
     <option value="{{ contact.id }}" 
      *ngFor ="let contact of contacts"> 
      {{contact.id}} - {{contact.name}} 
     </option> 
    </select> 
    ` 
}) 

export class ExampleComponent implements OnInit { 
    constructor() { } 

    ngOnInit() { } 

    contacts = [ 
    {id: 1, name: 'one'}, 
    {id: 2, name: 'two'}, 
    {id: 3, name: 'three'}, 
    {id: 4, name: 'four'}  
    ]; 

    onChange(e) { 
    console.log('e: ', e.target['value']); 
    } 
} 
0

添加一個模型去旅遊選擇,例如:myModel。並將ngValue添加到您的選項中,以便選擇模型可以獲得它的價值。

<select class="form-control" [(ngModel)]="myModel" required (ngModelChange)="onChangeLove($event)">> 
      <option value=""></option> 
      <option *ngFor="let contact of contacts" [ngValue]="contact.id">{{contact.id}} - {{contact.name}}, {{contact.ptechnologyName}}, {{contact.mainlocationName}}</option> 
</select> 

在組分,只是:

onChangeLove() { 
    console.log(this.myModel); 
}