将过去日期和日期持续时间禁用为三个月
disable past dates and to-date duration to three month
我创建了一个使用 angularjs 获取日历的应用程序,我使用了 angular-bootstrap-datetimepicker 插件来实现这一点。该应用程序运行正常,但问题是我想禁用除当前日期之外的所有通过日期,并且从当前日期开始只应启用三个月。
此插件是否有任何功能,例如开始日期和结束日期
谁能帮我解决这个问题
我的工作演示显示在 JSFiddle 中
目录
<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) {
});
有一个"渲染前"回调将在日期选择器的每次渲染上执行,为您提供显示当前视图的一系列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
支持。无论如何,日期选取器都需要此库。
工作小提琴
相关文章:
- 通过将6个月添加到今天来获得最后一个月的日期's日期
- 在javascript中,起始日期不得早于13个月
- JavaScript:获取第一个月前 6 个月的日期的最简单方法
- 如何使用jquery获取下一天的日期和下个月的日期
- Later.js-下个月同一日期
- Javascript日期对象:从5月31日跳到下个月得到7月1日
- 如何在javascript中检查日期是否在本周、本月或下个月内
- jQuery UI 日期选择器:向另一个日期选择器添加 6 个月
- 如何使用jquery验证器的日期月年三个文本框验证出生日期
- 如何在 javascript 中以 YYYYDDMM 格式有效地获取三个月前的日期
- 如何使用JQXDateTimeInput设置日期时添加6个月并减去日期
- 增加下个月的 JavasScript 日期对象,当天数增加时
- 角度JS显示+1个月日期
- 如何从当前日期值中减去 24 个月并将其分配给另一个变量
- 使用JavaScript显示日期+3个月
- 如何使用日期选择器从第三个文本框中的文本字段中求出天数
- 在js中向当前月份添加三个月
- 如何设置默认的“选择”选项在三个日期下拉框(年,月和日)在以下场景
- 给定一个日期(月/日/年),确定它是否为“第三个星期二”.月号等
- 将过去日期和日期持续时间禁用为三个月