使用Angular选择下拉列表中的默认选项

时间:2017-04-14 20:15:29

标签: javascript angularjs

另一个问题我使用ng-init但是很少发生,当页面加载我有空白默认选项时,当我clic并选择另一个空白选项disapear时,我该如何删除第一个选项?

代码:

<select ng-change="filtro(selected)" ng-init="selected = Catalogos[0]" ng-model="selected" ng-options="item.Nombre for item in Catalogos">
</select>+

控制器:

   function cargarCatalogo() {
        apiService.get("../../api/Catalogos/", null,
            function (res) {
                console.log(res.data);
                $scope.Catalogos = res.data; 
            },
            errorCatalogo);
    }

1 个答案:

答案 0 :(得分:0)

如果你考虑发生了什么的时间,那么在ajax调用返回之前调用ng-init。因此,您正在设置尚未存在的selected = Catalogos[0],因此未定义。然后,当您的ajax调用返回并设置$ scope.Catalogos时,它会将它们加载到选择列表中,但仍然有undefined作为所选选项。您需要做的就是在ajax回调中简单地说$scope.selected = $scope.Catalogos[0];,如下所示:

function cargarCatalogo() {
    apiService.get("../../api/Catalogos/", null,
        function (res) {
            console.log(res.data);
            $scope.Catalogos = res.data; 
            $scope.selected = $scope.Catalogos[0];
        }, errorCatalogo);
}