当我从REST api中检索选项和模型时,我对angularjs中的selectbox有一个常见问题。
这是我的html,它位于ng-repeat中:
<select class="form-control"
name="{{ field.name }}"
ng-model="data[field.name]"
ng-options="key as value for (key, value) in field.options">
</select>
在控制器中,我从(REST)服务中检索$ scope.field值和$ scope.data值。数据基本上如下所示:
data = {
'selectfield' => 2
};
field = {
'name' => 'selectfield',
'options' => {
'1': 'Option 1',
'2': 'Option 2'
}
};
问题:我为这个选择框得到一个空选项,并且选中了这个空值,即使data.selectfield有另一个值。我该怎么办?
答案 0 :(得分:0)
您的选择绑定到data[field.name]
的值。因此,默认值将是data[field.name]
的值selectfield
。 (而不是它的价值)
您应该将ng-model="data[field.name]"
中的表达式更改为您要绑定选择的变量名称。
例如,在您的情况下data
也是$ scope变量:
ng-model="data.selectfield"