当从服务器angularjs读取列表时,select won不显示默认值

时间:2015-08-06 22:11:11

标签: angularjs drop-down-menu html-select ng-options angularjs-ng-options

我在下面选择了当通过IE9中的http调用从服务器读取statuslist时不会显示默认值的选项。如果在控制器本身中设置了状态列表值,则默认值显示正常。

<select id="status" class="form-control" ng-init="selectedStatus = statuslist[0]"
                            ng-model="selectedStatus"
                            ng-options="status for status in statuslist">
                    </select>

如果我这样做,下拉列表中会显示默认值

 $scope.statuslist = [
            "New",
            "Management Review"
        ]

但不是如果状态列表来自服务器。如果我点击下拉菜单而不是默认值,我可以看到列表。

有人可以指出我在这里失踪的显而易见的事情吗?

1 个答案:

答案 0 :(得分:1)

ng-init不应该在那里使用,因为它将在html得到渲染时进行评估,并且当时statuslist值未在$scope内加载,所以它将selectedStatus设置为undefined

最好在从服务器加载$scope.selectedStatus = $scope.statuslist[0]之后立即添加此行statuslist