2015-11-19 79 views
1

我已经得到了选择设置中选择值

<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"> 

这个代码,我已经试过,我已经经历了这么看到一对夫妇不同的方式,但没有似乎设置选项在下降。有50个选项,它应该选择当前在vm.complainant.mState中的选项。

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

当我更改该值时,它会更新像设置绑定到模型时应该的那样更新了complainant.mState属性。但为什么我不能选择一个值?

+0

'vm.complainant.mState =“MN”;'应设置值。 – tymeJV

+0

我试图让select来设置当前mState的选定值。当表单已经加载vm.complainant.mState =“MN”时。但它不会在选择控件中选择它,它的空白处应该选择MN。 – Dylan

回答

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的评论后,我尝试了一次重击并删除跟踪通过解决问题。请参阅plunkr

+0

我试过了。现在它会自动选择下拉菜单中的最后一个状态“WY”,并且在更改时不会更新vm.complainant.mState,无论出于何种原因。我不知道为什么这不起作用。 – Dylan

+0

@Dylan我还没有充分调查Track By子句来了解原因,但删除它似乎阻止了最后一项被选中。 –

+0

@Dylan,通过为您解决问题来解决问题,就像它为我做的那样? plunkr有一个下拉工作的例子,并预设为初始值。检查一下plunkr。 –