如果选择允许回调中不允许,则完整日历禁用选择日期



在FullCalendar插件中,我需要允许选择一天或日期之间的天数。我举了一个例子来更好地解释。

https://codepen.io/stefanmalex/pen/Jjjjgmp

我有一个不允许天数的数组:

var disallowedDays = ['2019-10-17', '2019-10-23', '2019-10-26']

我添加了"选择允许"回调:

selectAllow: function (selectInfo) {
if (disallowedDays.includes(selectInfo.startStr)) {
return false;
}
return true;
}

如果您选择每天的天数,则此方法非常有效,允许选择数组中所有天数较少的天数。

问题:当您选择多天时,它允许选择不允许的天数。(示例:从"2019-10-15"到"2019-10-26"中选择(。

我需要什么,例如: 如果选择从"2019-10-11"开始,则必须允许您选择直到"2019-10-16",因为第二天("2019-10-17"(是不允许的。

我让代码笔上的例子。 https://codepen.io/stefanmalex/pen/Jjjjgmp

> ADyson 已经正确识别了它。 程序逻辑需要更改。 在您使用startStr检查数组selectAllow,因此基本上它将仅检查选择的开始日期,而不是整个选择。 因此,如果您尝试选择10月14日至10月18日,则需要检查/比较此范围内的不允许日期。 因此,需要遍历 disallowedDays 数组以检查尝试选择中的每个日期,如以下循环:

for(var i=0;i<disallowedDays.length;i++)   {
var dd = new Date(disallowedDays[i]);
if(dd.getTime() >= startDate.getTime() && dd.getTime() <= endDate.getTime()){
return true;
}
}

按照此逻辑,在此处检查您可能期望的解决方案

相关内容

  • 没有找到相关文章

最新更新