我有一个表格,其中有“年份”字段,因此我只需要显示年份下拉列表。
是否可以在 jQuery datepicker 中仅显示年份?否则是否有任何 Angular Directive(指令)仅在下拉列表中显示年份?
$("#date").datepicker({
changeMonth: false,
changeYear: true,
dateFormat: 'dd/mm/yy',
duration: 'fast',
stepMonths: 0
});
fiddle :http://jsfiddle.net/LttVe/628/
最佳答案
正如评论中所建议的,如果只需要选择年份,为什么不创建一个简单的下拉列表。以下是为此创建指令的示例。
var app = angular.module('app', []);
app.controller('MainCtrl', function($scope) {
$scope.details = { year_of_completion: null, year_of_admission: null }
}).directive('yearPicker', function() {
return {
scope: {
ngModel: '=',
startYear: '@',
totalYears: '@'
},
template: '<select ng-model="ngModel" ng-options="year for year in yearsRange"></select>',
link: function(scope) {
scope.yearsRange = [];
for (var i = 0; i <= scope.totalYears; i++) {
scope.yearsRange.push(scope.startYear++)
}
}
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.11/angular.min.js"></script>
<div ng-app="app">
<div ng-controller="MainCtrl">
<year-picker ng-model="details.year_of_admission" start-year="1997" total-years="20"></year-picker>
Admission year: {{details.year_of_admission}}
<br />
<year-picker ng-model="details.year_of_completion" start-year="1997" total-years="20"></year-picker>
Submission year: {{details.year_of_completion}}
</div>
</div>
关于javascript - jQuery 年份选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47687949/