2016-12-19 44 views
2

我想角2下拉電流值,以獲得基於的ngModel價值選擇的值下拉:無法在ngModel

<div class="form-group"> 
        <div> 
        <label class="dropdown" for="profile">Profile <span style="color:red">*</span></label> 
        </div> 
        <div class="half"> 
        <select class="form-control" name='profile' [(ngModel)]='users.profile._id' required> 
         <option *ngFor="let obj of profiles" [value]="obj._id">{{obj.profile}}</option> 
        </select> 
        </div> 
      </div> 

回答

0

當使用NgModel指令的下拉列表,你應該總是使用NgValue指令代替value列表項(選項):

<select class="form-control" name='profile' [(ngModel)]='users.profile._id' required> 
    <option *ngFor="let obj of profiles" [ngValue]="obj._id"> 
     {{obj.profile}} 
    </option> 
</select> 

這應該可以解決您的問題。

+4

當值爲字符串時,'value'應該仍然沒問題,只有當值是其他類型時'ngValue'是必需的AFAIK。 –

+1

@GünterZöchbauer我不知道這一點。然後OP的問題是'users.profile._id'不匹配任何'obj._id'。 –

+1

可能是因爲它是例如一個數字,即使JS通常不介意將'1'與'1'比較。我只是確定它應該與字符串值一起工作。 –

0

感謝@君特Zöchbauer和@Stefan Svrkota

我intialize this.users.profile=''作爲字符串以前這是我的錯誤應該是inialize爲對象this.users.profile={},剩下的代碼工作。