AngularJS Select和ng-options:我可以绑定并反对ng-model,同时只显示属性吗?

时间:2014-10-07 20:30:01

标签: angularjs

我将select元素绑定到如下所示的数据:

  var gearConditions = [
    { id: 1, value: 'New' },
    { id: 2, value: 'Like New' },
    { id: 3, value: 'Excellent' },
    { id: 4, value: 'Good' },
    { id: 5, value: 'Fair' },
    { id: 6, value: 'Very Used' },
    { id: 7, value: 'Other' }
];

我的选择如下:

  <select name="condition"
          class="form-control"
          ng-model="postModel.condition"
          ng-options="condition.id as condition.value for condition in gearConditions">
  </select>

这会将condition.id绑定到ng-model并将condition.value显示为select选项。我的问题是:我可以保持当前行为但是将整个对象绑定到ng模型吗?

例如,如果选择了第一个选项,则模型值将为{id:1,value:'New'}而不是1。

这是可能的还是我需要使用ng-changed来实现这个目标?

谢谢!

2 个答案:

答案 0 :(得分:2)

是的,将condition.id更改为condition

ng-options="condition as condition.value for condition in gearConditions"

答案 1 :(得分:0)

我认为你尝试过类似的事情:

// I took this from my code
ng-options="key as value for (key, value) in ...

现在,您可以尝试合并key+value并查看它是否符合您的要求。