2017-06-04 7 views
0

ループ内で選択オプションの値を設定しています。コードを見てくださいangular2で選択値を動的に初期化する

<div *ngFor="let sport of sport_data;" class="row"> 
    <select [(ngModel)]="sports.value" class="form-control"> 
     <option value="football">Sports</option> 
     <option value="cricket">Cricket</option> 
    </select> 
</div> 

ここでsport_dataはスポーツのリストです。それはうまく動作しません。 select要素のデフォルト値を設定する他の方法はありますか?

答えて

1

選択肢には、* ngForの "スポーツ"変数へのバインディングが必要ですか?その場合、ngModelを "スポーツ"ではなく "スポーツ"にバインドするので、誤植があるようです。コードは次のようになります。あなたはそれを求め

<div *ngFor="let sport of sport_data;" class="row"> 
    <select [(ngModel)]="sport.value" class="form-control"> 
     <option value="football">Sports</option> 
     <option value="cricket">Cricket</option> 
    </select> 
</div> 

ように、異なるアプローチが可能にするオプションの値バインディングおよび[選択]を設定する選択上の(変化する)イベントを使用することができ選択された。

+0

ここではngmodelを使用してデフォルト値を設定しています。sport.valueはfootballやcricketのような値を返します。私の誤植を修正した後でさえそれは動作しません。 – MOHIT

+0

@MOHITあなたのコードで小さなplunkrを作成しました。[link](https://plnkr.co/edit/BTbsjQL1yBlOFa58OKEF?p=preview)を参照してください。これは達成したいことですか?私。あなたのsport_dataの各フィールドの複数の選択ボックス? – Kergoss

+0

はい、それは私が達成しようとしていたものです。ありがとう – MOHIT

関連する問題