Я использую select
и ng-options
в angularjs, чтобы показать список лет, которые я сам создаю. Я передаю текущий год в качестве значения по умолчанию для выбора.
здесь ссылка plunker.
Мой вопрос:
Как центрировать список по умолчанию? Мой плукер не завершен, потому что моя реальная ситуация похожа на ту, что нашла здесь http://www.cliptheme.com/demo/clip-two/AngularJs-Admin/STANDARD/#/app/form/wizard
Перейдите в Forms/ Мастер форм/ Шаг 3 Биллингс
как вы можете видеть, выбрав год, а затем снова щелкнув по нему, меню будет сосредоточено на выбранном году.
Но моя проблема в том, что когда я передаю ему значение года по умолчанию, как если бы я уже выбрал, а затем я нажимаю на список, я должен увидеть, что оно сосредоточено на этом значении по умолчанию, но это не так. Когда я снова нажму на этот год и снова нажму на список, я вижу, что он центрирован.
Другими словами, передача года в качестве значения по умолчанию не играет ту же роль, что и если я впервые выбрал его, щелкнув, потому что, когда я снова нажимаю повторно, он не центрируется. Как мы можем исправить эту проблему?
Вот файл CSS для используемого вами селектора: ссылка css, это не включено в плункер или фрагмент, потому что я не мог правильно воспроизвести этот CSS на плунтере, если можно, сделайте это.
var app = angular.module('app', []);
app.controller('MyCtrl', function($scope) {
$scope.dates = {};
$scope.years = [{value: 'Year', disabled: true}];
var current_year = new Date().getFullYear();
for(var i = current_year - 20; i <= current_year + 20; i++){
$scope.years.push({value: i + ''});
}
var d = new Date();
var n = d.getFullYear();
$scope.dates.startYear = n;
});
<link href="//netdna.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" rel="stylesheet">
<script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.11/angular.min.js"></script>
<body ng-app="app">
<div ng-controller="MyCtrl">
<label class="control-label">Year</label>
<select name="startYear" ng-model="dates.startYear" id="startYear"
ng-options="year.value as year.value disable when year.disabled for year in years"
required>
<option value="" disabled >Choose one</option>
</select>
</div>
</body>