angularjs ngOptions有2个对象属性作为标签并按Id进行跟踪

时间:2017-07-04 20:40:36

标签: javascript angularjs ng-options angularjs-ng-options

好的,所以我有一个包含一些名为专业人士的对象的对象 结构看起来像那样

lstProf=[{firstName:'tony',lastName:'bob',id:188},{...},{...}];

我希望我的选择字段显示firstName + lastName并按ID跟踪

某种程度上这不起作用:

    <select class="input-antoine section2-control"  
    data-ng-options="prof.id as prof.firstName +' 
     '+prof.lastName for prof in lstProfs track by prof.id"
    data-ng-model="patient.treatingProfessionnal" 
    data-convert-to-number>
    </select>

我的ng-model也是一个int。

我做错了什么。

1 个答案:

答案 0 :(得分:2)

lstProf=[{firstName:'tony',lastName:'bob',id:188},{...},{...}];

<select data-ng-options="prof.id as prof.firstName +' 
     '+prof.lastName for prof in lstProf track by prof.id"
    data-ng-model="personById" 
    data-convert-to-number>
</select>

首先,你有问题的拼写错误。 集合命名为lstProf,然后您在ng-options中以复数形式lstProfs引用它。 其次根据Pankaj Parkar提出的文件,谨慎使用select作为track by。 无论track by引用文档中的属性是什么 track by expression is also applied to the ngModel

准备简单的plunker以揭示您的问题的方法的差异。 https://plnkr.co/edit/Rx8JfTee0JnyQa7UD1qE?p=preview