选择 - 编辑帖子时填充

时间:2014-11-03 12:35:50

标签: javascript angularjs

我有我的angularjs视图我必须使用保存在数据库中的值填充我的选择框,并允许选择其他选项。我试过这样的:

<div class="form-group">
 <label class="control-label" for="status">Status zaposlenika</label>
 <div class="controls">
 <select required name="status" class="form-control" ng-model="employee.status"  ng-options="statusType.name for statusType in statusTypes" >
</select>
</div>

但我的观点并未填充我的价值。 ({{employee.status}} - &gt;“test”)

$scope.statusTypes = [

     {
        name: 'test'
     },

    {
        name:'Test1'
    },

    {

        name: 'Test2'
    },

    {

        name:'Test3'
    }
];

我该怎么做?

修改

我的模型employee.status填充了值“test”。但我的选择框不是。其他值列为选择项。如何设置我的数据库中保存的默认值,以便在我的选择框中预先选择。

1 个答案:

答案 0 :(得分:1)

您的模型employee.name是一个字符串,选择框绑定到类似于{name: "Test1"}的对象。因此,如果要从statusTypes中选择选项,则必须在对象数组中找到相应的对象。

$scope.statusTypes = [
    {name: 'Test1'},
    {name: 'Test2'}, 
    {name: 'Test3'}
];

var selectedStatus = $scope.statusTypes.filter(function(type) {
    return type.name = 'Test2';
})[0];

$scope.employee = {
    status: selectedStatus
};

所以你必须让employee.status成为statusTypes数组中的一个对象。

或者其他选项是继续使用employee.status的字符串并更改ngOptions以绑定到字符串而不是对象:

ng-options="statusType.name as statusType.name for statusType in statusTypes"