如何根据当前日期禁用特定日期,假设今天是8/1/16,我想在当前日期周末几天之后禁用4天(4个例子,它可以是任何数字)算了,
示例如果今天是8/1/16我想禁用8/2 / 16,8 / 3 / 16,8 / 4/16和 2016年8月5日,可用的日期将是8/8/16之后的日期。
目前我只知道如何使用此过滤器禁用日历中的所有周末日
$scope.disableSelectedDays = function () {
//I create a New moment since I always going to need the current date
var momentJS = new moment();
if (momentJS <= moment().add(4, 'days')) {
return false;
} else {
//Just disable the weekends
var day = date.getDay();
return day === 1 || day === 2 || day === 3 || day === 4 || day === 5;
}
}
这是我的HTML
<div class="form-group">
<label>Delivery date:</label>
<md-datepicker ng-model="myDate" md-placeholder="Enter date"
md-date-filter="disableSelectedDays">
</md-datepicker>
</div>
这是我正在使用的版本 angular-maeria:v1.1.0-rc.5 datepicker:来自angular material v1.1.0-rc4-master-88f2e3f的datepicker
编辑1
我用你的答案编辑了我的代码,但现在日期选择器中的所有日子都被禁用了我无法选择任何东西,我做错了什么?
我添加了这个libaries时刻库
moment.js版本:2.14.1 角度力矩https://github.com/urish/angular-moment
答案 0 :(得分:0)
对于这种情况,您可以尝试使用moment.js
要在所选日期之后禁用任意天数,您可以执行此操作(希望工作,未经测试,可能存在拼写错误)
// date是您要检查的日期
// NumberOfdays 4根据你的例子
$scope.disableSelectedDays = function (date ) {
if(date <= moment().add(4, 'days')) {
return false;
}
else {
//Just disable the weekends
var day = date.getDay();
return day === 1 || day === 2 || day ===3 || day === 4 || day === 5;
}
}