从角度选择列表中选择默认选项

时间:2014-11-13 12:55:40

标签: angularjs

我需要从选择列表中选择下个月。我可以获得正确的值,但无法从列表中选择该选项。

谁能看到我在这里做错了什么?我从this related question尝试了一些东西,但没有到达任何地方。

这是我试图用作默认选择选项的对象:

Object { title="November", value="11", sortOrder=11}

这是我的HTML:

<div class="search-box__select half">
    <select data-ng-model="search.Month" data-ng-disabled="!months" data-ng-options="month.value as month.title for month in months">
        <option value="">-- Select Month --</option>
    </select>
    {{selectedOption}}
</div>

这是我的angularjs代码:

$scope.getMonths = function(){
    var year = $scope.search.Year;
    if(year)
    {
        $http({
        method:'GET',
        url:'/autocomplete/generatesearchmonths',
        params: { year: year }
    }).success(function(data, status, headers, config){
        $scope.months = data;
        var d = new Date();
        var n = d.getMonth();
        $scope.selectedOption = $scope.months[n].value;
        console.log($scope.selectedOption)
    }).error(function(data, status, headers, config){
        $scope.message='Error loading months'
    })
  }else{
         $scope.months = null;
  }
}

2 个答案:

答案 0 :(得分:1)

您应该在成功回调中执行以下操作:

$scope.months = data;
$scope.search.Month = $scope.months[0] (or whatever default option should be)

答案 1 :(得分:1)

有两个选项,你可以做Michael Zucchetta建议或修改你的ng选项:

<select data-ng-model="search.Month" data-ng-disabled="!months" data-ng-options="month.value for month.value as month.title for month in months">
    <option value="">-- Select Month --</option>
</select>