0

这里看似简单的问题。我有一个很时髦的 ng-options 选择标签。

基本上我的 ng-change 函数不能正常工作,因为第一个参数“v”是未定义的。有什么帮助吗?

<select ng-model="d.sub_customer" ng ng-options="v.description as v.description for v in subCustomers" ng-change="updateCustomer(v,d.id)"></select>
4

2 回答 2

1

您不能访问ng-options外部表达式中的迭代变量(与 不同ng-repeat)。因为 ng-options 只是使用该表达式并在 DOM 中为 select 绘制选项。它实际上并没有创建一个范围来阻止这些属性,这就是它与 ng-repeat 不同的原因。在你的情况下d.sub_customer将被选中v.description,所以你可以在 ng-change 中传递它,即

  ng-change="updateCustomer(d.description,d.id)"
于 2015-05-29T02:22:29.677 回答
0
<select ng-model="d.sub_customer" ng ng-options="v.description as v.description for v in subCustomers" ng-change="updateCustomer(v,d.sub_customer)"></select>
于 2015-11-07T06:18:36.270 回答