javascript - 带有对象数组的 ngOptions 不设置第一个值

标签 javascript angularjs ng-options angularjs-ng-options

我有一个对象数组,格式如下:

[
  {key: 'SC', name: 'Santa Catarina'},
  {key: 'SP', name: 'São Paulo'},
  {key: 'RJ', name: 'Rio de Janeiro'}
]

我想使用 selectng-options 来显示这些值:

<select ng-model="vm.state"
    ng-options="state.name for state in vm.states">
</select>

但是,如果 vm.state 已经有一个值,则选择不会以它被选中开始。有谁知道如何实现它?

Fiddle demonstrating the problem.

谢谢! :)

最佳答案

在这种情况下,您可以使用 track by,从某个 ajax 调用中检索选定的对象。

<select ng-model="vm.state"
      ng-options="state.name for state in vm.states track by state.key">
</select>

JSFiddle

NOTE: track by will not work if you are using select as in ng-options expression.`

关于javascript - 带有对象数组的 ngOptions 不设置第一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38924689/

相关文章:

javascript - AngularJS:使用 orderBy 对带空格的字符串进行排序

javascript - 如何使用 ng-option 在 Angular select 中添加 HTML 实体

javascript - 我可以从另一个调用一个 js 文件吗?

javascript - 如何从 WADL 生成 JavaScript 客户端 stub ?

javascript - 将动态加载的 JavaScript 和 CSS 插入页面的最有效方法是什么?

javascript - 选择 ng-options 中的更多元素或输出字段,其中包含有关所选 ng-options 的详细信息

javascript - ng-options 其中一个的选择决定了另一个的选项

javascript - 如何修复此正则表达式以删除 JSLint 不必要的转义警告?

javascript - 简单的 Angular JS 过滤器不起作用

javascript - angularjs在javascript中获取全局范围变量