下拉列表没有填充json对象

时间:2016-06-10 14:56:13

标签: angularjs json

我的ng-model值是 - “{”Id“:1,”描述“:”草稿“,”代码“:”草稿“}”和ng-options是 -

[
   {
      "Id": 1,
      "Description": "Draft",
      "Code": "Draft"
   },
   {
      "Id": 2,
      "Description": "UserSubmitted",
      "Code": "UserSubmitted"
   },
   {
      "Id": 3,
      "Description": "PLMApproved",
      "Code": "PLMApproved"
   }
]

所以我的下拉列表没有填充(但值是绑定)。

我知道,如果ng-model值只是一个它将绑定的整数值,那么json对象怎么样? 请帮忙。

1 个答案:

答案 0 :(得分:1)

AFAIK它不会绑定,因为你的模型是一个不同的对象,即指向不同的内存位置,并且它与数组中的任何对象都不匹配。

您可以使用ng-options中的as子句选择要进入ng-model的属性,并使用该值设置ng-model将设置所选选项。

e.g。

<select ng-options="item.Id as item.Description for item in default.items" ng-model="default.selectedItemId">
      <option value="">Select</option>
    </select>

否则您可以使用track by子句,当您想要将一个属性或对象放入ng-model时使用该子句但是您想要使用ng-model中的另一个属性设置所选选项,该属性将在track by子句即更新从代码到视图的绑定

e.g。

<select ng-options="item as item.Description for item in default.items track by item.Id" ng-model="default.selectedItem">
      <option value="">Select</option>
    </select>