我需要从选择列表中选择下个月。我可以获得正确的值,但无法从列表中选择该选项。
谁能看到我在这里做错了什么?我从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;
}
}
答案 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>