我目前正在为我的一位朋友在度假公寓网站上工作。我遇到了一个问题,不知道如何处理它。我使用的是名为bootstrap-daterangepicker或daterangepicker的插件。问题是:
我想阻止用户选择包含不可用日期的时间跨度,这意味着一个人不应该选择时间跨度" Jan。 4月20日"如果其他人已经预订了,那么,在前面提到的时间范围内(例如" 1月7日 - 11日"),已经预订了。因此,如果用户选择日期,则必须找出下一个禁用日期的安排时间,如阵列提供的那样#34;不可用"并禁用该日期之后所有日期的选择,因此类似于maxDate选项(在我的例子中,从现在开始的一年零月之后的所有日期都不能再选择)。
我使用isInvalidDate选项禁用特定日期的选择:
var unavailable = [
'10.06.2017',
'11.06.2017',
'12.06.2017',
'13.06.2017',
'14.06.2017',
]
$('input[name="datefilter"]').daterangepicker({
maxDate: moment().add({
years:1,
months:1
}),
locale: {
format: 'DD.MM.YYYY'
},
isInvalidDate: function(date)
{
return !!(unavailable.indexOf(date.format('DD.MM.YYYY')) > -1);
}
});
答案 0 :(得分:0)
这是我要做的: - 在每个数据上单击,查看是否填写了开始日期和结束日期 - 如果没有,请不要做任何事情。 - 当开始和结束数据可用时,生成一个包含开始和结束数据之间所有日期的数组(包括两者)。 - 使用数组不可用的array_intersect - 如果您最终得到一个空数组,则可以预订日期。否则就无法进行预订。