设置选择列表的选定值

时间:2015-11-19 21:51:48

标签: jquery angularjs

我已经为select

提供了这段代码
<select class="form-control input-sm" id="drpState"
 data-ng-model="vm.complainant.mState"
 data-ng-options="state.abbreviation for state in vm.states track by vm.complainant.mState">

我已经尝试了几种不同的方式,我通过SO看到了,但似乎没有人在下拉菜单中设置选项。有50个选项,它应该选择当前在vm.complainant.mState中的那个。

我正在从RESTful API中获取一系列State。州的缩写显示得很好。但是应该通过我的vm.complainant模型选择一个。这是从API获得的另一个对象,它正确填充。投诉人有一个pState属性,让我们说它作为MN返回,但无论出于何种原因,我无法通过Jquery或模型设置该下拉列表的选定值。

当我更改值时,它更新了jobin.mState属性,就像绑定到模型时一样。但为什么我不能选择一个值?

1 个答案:

答案 0 :(得分:0)

在选项的开头添加state.abbreviation as

<select class="form-control input-sm" id="drpState"
 data-ng-model="vm.complainant.mState"
 data-ng-options="state.abbreviation as state.abbreviation for state in vm.states">

如果没有“as”语句,则将整个对象绑定为值。

这种情况很常见,例如item.id as item.description for item in vm.items会将ID绑定到您的模型,但会在下拉列表中显示说明。

更新:在看到Dylan的评论后,我尝试了一个plunker并删除Track By修复了问题。见plunkr