将过去的日期和迄今为止的持续时间禁用为三个月
disable past dates and to-date duration to three month
我创建了一个使用 angularjs 获取日历的应用程序,我使用 angular-bootstrap-datetimepicker 插件来实现它。该应用程序工作正常,但问题是我想禁用除当前日期之外的所有通过日期,并且从当前日期开始只应启用三个月。
这个插件有开始日期和结束日期之类的功能吗
谁能帮我解决这个问题
我的工作演示显示在 JSFiddle
Html
<div ng-app="myApp">
<div ng-controller="AppCtrl">Selected Date: {{ data.embeddedDate | date:'yyyy-MM-dd a' }}
<datetimepicker data-ng-model="data.embeddedDate" data-datetimepicker-config="{ startView:'day', minView:'day' }" />
</div>
</div>
脚本
var app = angular.module('myApp', ['ui.bootstrap.datetimepicker']);
app.controller('AppCtrl', function ($scope) {
});
有一个 'before-render' 回调将在日期选择器的每次渲染时执行,为您提供 DateObject
范围内出现的当前视图。 DateObject
的属性之一是 selectable
。控制是否可以选择日期的设置。
对于您的方案,实现起来非常容易:
$scope.beforeRender = function ($view, $dates, $leftDate, $upDate, $rightDate) {
var threeMonthsLater = moment().add(3, 'months');
for(var index=0;index<$dates.length;index++) {
$dates[index].selectable = moment($dates[index].utcDateValue).isBetween(moment(),threeMonthsLater);
}
}
使用大于 2.9 的 moment.js 版本以获得 isBetween
支持。无论如何,日期选择器都需要这个库。
工作fiddle
我创建了一个使用 angularjs 获取日历的应用程序,我使用 angular-bootstrap-datetimepicker 插件来实现它。该应用程序工作正常,但问题是我想禁用除当前日期之外的所有通过日期,并且从当前日期开始只应启用三个月。
这个插件有开始日期和结束日期之类的功能吗
谁能帮我解决这个问题
我的工作演示显示在 JSFiddle
Html
<div ng-app="myApp">
<div ng-controller="AppCtrl">Selected Date: {{ data.embeddedDate | date:'yyyy-MM-dd a' }}
<datetimepicker data-ng-model="data.embeddedDate" data-datetimepicker-config="{ startView:'day', minView:'day' }" />
</div>
</div>
脚本
var app = angular.module('myApp', ['ui.bootstrap.datetimepicker']);
app.controller('AppCtrl', function ($scope) {
});
有一个 'before-render' 回调将在日期选择器的每次渲染时执行,为您提供 DateObject
范围内出现的当前视图。 DateObject
的属性之一是 selectable
。控制是否可以选择日期的设置。
对于您的方案,实现起来非常容易:
$scope.beforeRender = function ($view, $dates, $leftDate, $upDate, $rightDate) {
var threeMonthsLater = moment().add(3, 'months');
for(var index=0;index<$dates.length;index++) {
$dates[index].selectable = moment($dates[index].utcDateValue).isBetween(moment(),threeMonthsLater);
}
}
使用大于 2.9 的 moment.js 版本以获得 isBetween
支持。无论如何,日期选择器都需要这个库。
工作fiddle