如何仅在720kb AngularJS Datepicker中显示月份和年份

时间:2017-07-25 10:55:29

标签: angularjs datepicker

我在我的应用程序中使用this angularJS datepicker,想知道是否有办法在日历中只显示月份和年份并删除日期?

这就是我使用datepicker的方式:

<datepicker date-format="MM yy" button-prev-title="previous month" button-next-title="next month" button-prev="<i class='fa fa-arrow-left'></i>" button-next="<i class='fa fa-arrow-right'></i>" id="dtDate" name="dtDate" >
    <input ng-model="dtDate" />
</datepicker>

我尝试添加date-format="MM yy",但它只更改了所选日期,而不是更改了datepicker本身。

2 个答案:

答案 0 :(得分:0)

我想您可能对使用我创建的这个git存储库感兴趣。 https://github.com/morfsys/multiple-month-picker

这是您在项目中使用它的方法:

<强> HTML

<input type="text" multiple-month-picker />

<强> JS

//Initiate your app by injecting 'mmp-morfsys'
var app = angular.module('app-name', ['mmp-morfsys'])

它可以帮助您跨多年选择多个月。最好的东西?它在AngularJS上。

我希望它可以帮到你。

答案 1 :(得分:0)

我对angularjs-datepicker有同样的问题。 我使用了另一个日期选择器:angularjs-material。 以下是如何使用它:

<md-datepicker ng-model="startDate" md-mode="month" md-placeholder="dd/MM/yyyy" md-date-locale="mylocale" md-open-on-focus></md-datepicker>

然后在你的控制器中:

function pad(n) {return n < 10 ? "0"+n : n;}
$scope.mylocale = {
  formatDate: function(date) {
    var d=new Date(date);
     if(isNaN(d.getTime())) {
       return '';
     } else {
       return pad(d.getDate())+"/"+pad(d.getMonth()+1)+"/"+d.getFullYear();
     }
  },
  parseDate: function(date) {
     var ds = date.split('/');
     var d=new Date(ds[2],ds[1]-1,ds[0]);
     if(isNaN(d.getTime())&&d!=''){
       return new Date(NaN);
      } else {
        return d;
      }
   } };

它正在发挥作用。只需确保在输入无效(form.startDate.$invalid)时正确处理案例。

如果某人有angularjs-datepicker的解决方案,请告诉我们。