2016-12-03 100 views
1

掙扎了一下從下拉選擇的值。獲取選定的值下拉角2

因爲這是返回值undefined

如何在Angular 2中獲得此選定值(opl.Opl_Id)?

<form class="form-inline" novalidate> 
    <select class="form-control" (change)="onChange(opl)"> 
      <option [selected] = "opl.OplDescription == selectedOpl" *ngFor="let opl of existingOpls" [ngValue]="opl.Opl_Id">{{opl.OplDescription}}</option> 
    </select 

//component 
onChange(value) { 
    console.log(value); 
} 

回答

1

你爲什麼叫額外的更改事件只得到選擇的值???使用[(ngModel)]獲得更新的值,而不是如下圖所示,

<select class="form-control" [(ngModel)]="selectedVal">    //<<<---here 

     <option [attr.selected] = "opl.OplDescription == selectedOpl" //<<<---here 
       *ngFor="let opl of existingOpls" 
       [ngValue]="opl.Opl_Id"> 
       {{opl.OplDescription}} 
     </option> 

</select> 

{{selectedVal}} 
1

我發現這更容易..希望它可以幫助開發人員未來。

<select class="form-control" id="select" (change)="Selected($event.target.value)"> 
     <option *ngFor="let item of items" [value]="item.id">{{item.value}}</option> 
    </select> 


    Selected(value: any) { 

      console.log(value); 

       }