在ng-repeat Angularjs的下拉列表中更新所选选项的输入值

时间:2014-07-25 00:39:26

标签: javascript jquery angularjs

嗨,我已经完成了我的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  谢谢

1 个答案:

答案 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