1

我有这样的数据

localItems = 
     [{Id: 234565, Name: "My Class"}, 
      {Id: 871243, Name: "Class 321"}];

我在模板中使用它,

ng-options="item.Id as item.Name for item in localItems"//used to work previously

我的 angularJs 版本是1.2.15

我想要的是:

<option value="234565">My Class</option>
<option value="871243">Class 321</option>

我得到了什么:

<option value="0">My Class</option>
<option value="1">Class 321</option>

每次都有效,不明白为什么现在无效

是因为Id值很大吗?

4

2 回答 2

2

如果您想将属性value分配给正确的 ID,请使用track by

ng-options="item.Id as item.Name for item in localItems track by item.Id"

但是 ng-model 无论如何都会被分配正确的值

工作 JsFiddle:http: //jsfiddle.net/KN9xx/20/

于 2014-04-14T12:26:43.853 回答
0

无论生成元素中的每个's是什么,基于的正确值item.Id都是通过角度解析的。检查分配为的变量,它将具有正确的值。optionsvalueng-model

于 2014-04-14T12:24:07.037 回答