Angularjs选择具有远程数据的Box并且没有空值

时间:2014-03-16 18:09:25

标签: angularjs

当我从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有另一个值。我该怎么办?

1 个答案:

答案 0 :(得分:0)

您的选择绑定到data[field.name]的值。因此,默认值将是data[field.name]的值selectfield。 (而不是它的价值)

您应该将ng-model="data[field.name]"中的表达式更改为您要绑定选择的变量名称。 例如,在您的情况下data也是$ scope变量:

ng-model="data.selectfield"