嗨,我已经完成了我的ng-repeat
<div ng-repeat="a in items" >
<select ng-model=a.id ng-options= "c.id as c.name for c for allitems" ng-init="a.age=c.age"></select>
<input ng-model="a.age" />
</div>
当ng-repeat运行时,它会正确填充所有vavlues,包括下拉选项。问题是,如果我更改任何行中的下拉值,它不会更新a.age,这也是下拉列表中的所有项目之一。
请在下拉列表中告诉我选择其他选项如何将a.age值更新为相应的c.age 谢谢
答案 0 :(得分:1)
您需要了解两件事。
首先,绑定到模型而不是项目。
<select ng-model="item" ...>
其次,使用track by expression绑定相应的item和allitems
<select ... ng-options="item2.id for item2 in allitems track by item2.id"></select>
代码段
<div ng-repeat="item in items">
<select ng-model="item" ng-options="item2.id for item2 in allitems track by item2.id"></select>
<input ng-model="item.age" />
</div>
Plunker版本 http://plnkr.co/edit/tBfQCSoVuGJ6EMNqVDSn?p=preview