javascript - jQuery 年份选择器

标签 javascript jquery angularjs

我有一个表格,其中有“年份”字段,因此我只需要显示年份下拉列表。
是否可以在 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/

相关文章:

javascript - Drupal Theming js 错误 - 无法读取未定义的属性 'top'

JavaScript/jQuery - 检查字符串是否包含关键字之一

jQuery Mobile - 包含外部文件的页脚

javascript - 将对象传递给函数时, Angular 范围不会更新

javascript - 如何删除selectpicker中的默认标题?

Javascript - 在客户端的热敏打印机上打印(无小程序)

javascript - ASP .Net 在文本更改回发时更新 asp 页面上的单个元素

javascript - 如果 <td> 不包含 &lt;input&gt; 的值,则删除 <tr>

angularjs - 从其他 Controller 更新 ng-repeat 中使用的 $scope 变量

javascript - CSS3 动画 - 使用过渡 : 时不会触发 animationstart 事件