2014-01-09 82 views
1

我有一个从服务器拉出的作业对象数组,以及从服务器拉出的一组人对象。我希望个人作业由一个select元素表示,从jobs数组填充。我已经使用ng-options填充了select,并且在更改选择时,更新了人员模型的作业对象。我唯一的问题是,从select开始显示一个空值。我不知道如何让它显示人物对象当前的工作?Angularjs选择 - 基于模型设置初始选择

<select 
    ng-model='person.job' 
    ng-options='job.title for job in jobs'> 
</select> 

人物对象看起来像这样

{ 
    "id": "1", 
    "firstName": "Marianne", 
    "lastName": "Jenkins", 
    "middleNames": null, 
    "ext": "4680", 
    "phoneCell": "1-174-668-3846", 
    "phoneHome": "+10(2)5744088105", 
    "takerNumber": "180", 
    "hidden": "0", 
    "created_at": "2014-01-09 12:55:12", 
    "updated_at": "2014-01-09 12:55:12", 
    "job": { 
    "id": "25", 
    "title": "Office Manager", 
    "created_at": "2014-01-09 12:55:11", 
    "updated_at": "2014-01-09 19:25:03" 
    }, 
    "office": { 
    "id": "4", 
    "name": "Salt Lake City", 
    "prefix": "702", 
    "order": "2", 
    "takerNumber": "103", 
    "address_id": "1" 
    } 
} 

和就业阵列看起来像我提供足够的信息和遗憾,这

[ 
    { 
    "id": "1", 
    "title": "Field Service Tech", 
    "created_at": "2014-01-09 12:55:11", 
    "updated_at": "2014-01-09 19:25:03" 
    }, 
    { 
    "id": "2", 
    "title": "Inside Sales Manager", 
    "created_at": "2014-01-09 12:55:11", 
    "updated_at": "2014-01-09 19:25:03" 
    }, 
    { 
    "id": "3", 
    "title": "Office Assistant", 
    "created_at": "2014-01-09 12:55:11", 
    "updated_at": "2014-01-09 19:25:03" 
    }, 
    ... 
    { 
    "id": "25", 
    "title": "Office Manager", 
    "created_at": "2014-01-09 12:55:11", 
    "updated_at": "2014-01-09 19:25:03" 
    } 
    ... 
] 

希望如果我的描述是有点不清楚,我努力了一下,准确地描述了我的问题。

在此先感谢!

注意:此处显示的人是生成的并且不是真实的。

回答

1

请试试这个:

<select 
    ng-model='person.job' 
    ng-options='job.title for job in jobs track by job.id'> 
</select> 

例如用以下方式扩展表达式:track by job.id

+0

谢谢你做的伎俩! –