2016-08-19 7 views
0

私はオブジェクト{ id:x, name: 's' }の配列を持ち、ng-optionsを使って、デフォルトの選択されたデータでドロップダウンを作成しています。今のところうまくいきます。ng-options selected data返すオブジェクト

これでオプションの1つを選択して、選択したデータを見ると、完全なオブジェクトが返されますが、名前フィールドだけでなく、読み込み時にデフォルト値を選択する必要があります。ここで

// in controller 
vm.teams = [ 
     { 
     id: 1, 
     name:'First' 
     }, 
     { 
     id: 2, 
     name:'Second' 
     }, 
     { 
     id: 3, 
     name:'Third' 
     } 
    ]; 

    vm.teamFormData = { 
     team: '' 
    }; 

    vm.getTeam = function(formData) { 
     $log.debug(formData); << here I get object 
    } 

// in View 
<select ng-init="vm.teamFormData.team = vm.teams[0]" 
     ng-model="vm.teamFormData.team" 
     ng-options="t.name for t in vm.teams track by t.id" > 
</select> 

working plunker

答えて

1

あなたngOptions構文は少しオフになっている - あなたはおそらくドン」 - それは

ng-init="vm.teamFormData.team = vm.teams[0].name" 

サイドノートとなり、その後value as text for item in array

ng-options="t.name as t.name for t in vm.teams track by t.id" 

そして、あなたのngInitです欲しい- 上の例では実際の使用例はありません。代わりに、コントローラのプロパティを設定するだけです。

plunkr:https://plnkr.co/edit/7SGIdtfjucMnMqiEa7JY?p=preview

+0

を参照すると、デフォルトの選択値が失われます。ロード時には何も選択されていません –

+0

@ pro.mean - あなたは 'nginit'を更新しましたか? – tymeJV

+0

はい。私はそれを更新しました。 plankerの変更を参照してください –

関連する問題