2016-07-05 22 views
2

隨着舊形式,我可以設置檢查這樣的單選按鈕:角2單選經過

<div class="radio" *ngFor="let transport of transports"> 
    <label> 
    <input type="radio" name="transport" [ngModel]="{checked: transport.id == selectedTransport.id}" (change)="onTransportChange(transport)"> {{ transport.name }} 
    </label> 
</div> 

有了新的角度的形式,我不能和[ngModel]="{checked:''}"做到這一點,但我可以用[checked],然後我試着這樣做:

<input type="radio" name="transport" [checked]="transport.id == selectedTransport.id"> {{ transport.name }} 

而這個工作,但如果我設置[ngModel]這已經不檢查:

<input type="radio" name="transport" [checked]="transport.id == selectedTransport.id" [ngModel]="transport" (change)="onTransportChange(transport)"> {{ transport.name }} 

編輯:

Plunker與舊形式: http://plnkr.co/edit/zu4j9MpALIgCT9JHuIPz?p=preview

Plunker以新的形式: http://plnkr.co/edit/cWCp5d122h3wvSRa8AYQ?p=preview

任何人都可以幫助我?謝謝!

+0

你的ng模型返回什麼值.. ??它的價值可能導致單選按鈕再次被選中... –

+0

@ Mr.Noddy感謝您的回覆,我編輯了我的問題,添加了一個新舊形式的闖入者... –

+0

您在此期間找到了解決方案嗎? – Greg

回答

1

嘗試指定值屬性。 而且不要忘記,單選按鈕型號的情況下,不應該包含布爾值,而應該包含類似無線電的特定值:

<input type="radio" name="food" value="beef" [(ngModel)]="myFood"> Beef 
    <input type="radio" name="food" value="lamb" [(ngModel)]="myFood"> Lamb 
    <input type="radio" name="food" value="fish" [(ngModel)]="myFood"> Fish 

在這種情況下,你不需要[檢查]屬性。