Javascript 如何在日期范围选择器中使用isInvalidDate禁用多个日期
我想禁用几个日期范围内的日期选择器 我可以从2017年10月10日至2017年10月15日禁用,如下所示:Javascript 如何在日期范围选择器中使用isInvalidDate禁用多个日期,javascript,jquery,asp.net,date,Javascript,Jquery,Asp.net,Date,我想禁用几个日期范围内的日期选择器 我可以从2017年10月10日至2017年10月15日禁用,如下所示: var cekA = document.getElementById('HF_StartDateBlockMasterPage').value; var cekB = document.getElementById('HF_EndDateBlockMasterPage').value; $('#daterange').daterangepicker({ isInvalidDate
var cekA = document.getElementById('HF_StartDateBlockMasterPage').value;
var cekB = document.getElementById('HF_EndDateBlockMasterPage').value;
$('#daterange').daterangepicker({
isInvalidDate: function (date) {
var formatted = date.format('YYYY-MM-DD');
if (date >= moment(cekA) && date <= moment(cekB)) {
return true;
}
}
});
var cekA=document.getElementById('HF_StartDateBlockMasterPage')。值;
var cekB=document.getElementById('HF_EndDateBlockMasterPage')。值;
$(“#日期范围”).daterange选择器({
isInvalidDate:函数(日期){
var formatted=date.format('YYYY-MM-DD');
如果(date>=moment(cekA)&&date您只需要向isInvalidDate回调添加更多条件,每个条件表示要禁用的日期或日期块
例如,您可以编写:
jQuery(function($) {
var a = moment("2017-10-10");
var b = moment("2017-10-15");
var x = moment("2017-10-25");
var y = moment("2017-10-30");
$("#daterange").daterangepicker({
isInvalidDate: function(date) {
if (date >= a && date <= b) {
return true;
}
if(date >= x && date <= y) {
return true;
}
return false;
}
});
});
jQuery(函数($){
var a=时刻(“2017-10-10”);
var b=力矩(“2017-10-15”);
var x=力矩(“2017-10-25”);
var y=力矩(“2017-10-30”);
$(“#daterange”).daterange选择器({
isInvalidDate:函数(日期){
如果(日期>=a&&date=x&&date=a&&date=x&&date=range.start&&date)我不理解您的问题“但是如果我想禁用2017年10月10日至2017年10月15日的日期,并再次禁用2017年10月25日至2017年10月30日的日期,我该怎么办?”你能更清楚一点吗?我很抱歉。我想禁用两个日期。禁用一个。禁用日期从2017年10月10日到2017年10月15日,禁用两个日期从2017年10月25日到2017年10月30日,所以我在10月我有可用日期从2017年10月21日到2017年10月24日。你能发布你已经实现的HTML吗?或者任何JSFIDLE?你只需要进一步添加erif(日期>=时刻(foo)&&date@Phani Kumar M,请在顶部切克..谢谢..它像一个符咒一样工作..我有一个问题,如果使用每种方法如何?根据您的代码,如果我有10种类型的日期将被禁用,我必须设置10个变量?请给出您的建议。对于10个日期范围,您将需要20个日期。请参阅上面的其他示例,了解如何处理。@Roamer-1888…谢谢兄弟…帮了大忙..非常感谢你的建议。。
jQuery(function($) {
var a = moment("2017-10-10");
var b = moment("2017-10-15");
var x = moment("2017-10-25");
var y = moment("2017-10-30");
$("#daterange").daterangepicker({
isInvalidDate: function(date) {
return (date >= a && date <= b) || (date >= x && date <= y);
}
});
});
jQuery(function($) {
$("#daterange").daterangepicker({
isInvalidDate: function(date) {
var dateRanges = [
{ 'start': moment('2017-10-10'), 'end': moment('2017-10-15') },
{ 'start': moment('2017-10-25'), 'end': moment('2017-10-30') },
{ 'start': moment('2017-11-10'), 'end': moment('2017-11-15') },
{ 'start': moment('2017-11-25'), 'end': moment('2017-11-30') },
{ 'start': moment('2017-12-10'), 'end': moment('2017-12-15') },
{ 'start': moment('2017-12-25'), 'end': moment('2017-12-30') },
{ 'start': moment('2018-01-10'), 'end': moment('2018-01-15') },
{ 'start': moment('2018-01-25'), 'end': moment('2018-01-30') },
{ 'start': moment('2018-02-10'), 'end': moment('2018-02-15') },
{ 'start': moment('2018-02-25'), 'end': moment('2018-02-30') }
];
return dateRanges.reduce(function(bool, range) {
return bool || (date >= range.start && date <= range.end);
}, false);
}
});
});