如何禁用角材料具体日期和日期选择器
问题描述:
如何禁用基于当前日期具体日期,让我们说,今天是16年8月1日,我想禁用4天(4这是它可以是任何一个例子数字)在当前日期周末后不计算日期,如何禁用角材料具体日期和日期选择器
如果今天是8/1/16,则示例我想禁用8/2/16,8/3/16,8/4/16和 8/5/16,并且可用的日期将是在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:datepicker from angular material v1.1.0-rc4-master-88f2e3f
编辑1
我用你的答案编辑了我的代码,但现在datepicker中的所有日子都被禁用我不能选择任何东西,我做错了什么?
我加入这个libaries时刻库
moment.js版本:2.14.1 角时刻https://github.com/urish/angular-moment
答
对于这种情况,你可以尝试使用moment.js
要禁用任何数量你可以做到这一点(希望应该工作,没有测试过,可能会有错字)
//日期是你想检查的日期
// 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;
}
}
感谢您的回答,但是这将是“天”价值?我也想检查它的将是永远当天我不日期'不知道为什么我需要检查它的时间()日期,如果当前日期比我添加4天的那一刻更短?和“日期”变量是相同的,“date.getDay()”变量在先感谢 –
我编辑我的问题@Natraj,现在我的日期选择器中的所有日期都被禁用为什么? –
此外,看来你没有用我给你的代码,你今天今天本身比较和循环下去,这就是原因,所有日期都被禁用...... – Natraj