2016-03-13 7 views
21

ho una discesa sotto forma di selezione in angolare 2.angolare selezionare l'opzione 2 ngModelChange, afferrare una proprietà specifica

Attualmente: Quando seleziono un'opzione il option name viene passato nella mia funzione onChange come $event

Cercasi: Quando seleziono un'opzione, desidero passare workout.id nella mia funzione onChange.

Come posso ottenere quello?

<select class="form-control" [ngModel]="selectedWorkout" (ngModelChange)="onChange($event)"> 
    <option *ngFor="#workout of workouts">{{workout.name}}</option> 
</select> 

Controller

onChange(value){ 
    alert(JSON.stringify(value)); 
} 

risposta

54
<select class="form-control" [ngModel]="selectedWorkout" (ngModelChange)="onChange($event)"> 
    <option *ngFor="#workout of workouts" [value]="workout.id">{{workout.name}}</option> 
</select> 

O

<select class="form-control" [(ngModel)]="selectedWorkout" (change)="onChange($event.target.value)"> 
    <option *ngFor="#workout of workouts" [value]="workout.id" >{{workout.name}}</option> 
</select> 

check this

+0

Grazie, questo era proprio quello che stavo cercando! –

+1

Oh Grt! Bene, ti ha aiutato ... – micronyks

1

si potrebbe anche usare [ngValue] all'interno opzione:

<select class="form-control" [ngModel]="selectedWorkout" (ngModelChange)="onChange($event)"> 
    <option *ngFor="#workout of workouts" [ngValue]="workout">{{workout.name}}</option> 
</select> 
Problemi correlati