0

我目前正在为我的一个朋友开发一个度假公寓网站。我遇到了一个问题,不知道如何解决。我正在使用一个名为bootstrap-daterangepicker或只是daterangepicker的插件。问题是:

我想阻止用户选择包含不可用日期的时间跨度,这意味着如果其他人已经预订并因此无法选择时间跨度(例如“ 1 月 7 日 - 11 日”)在前面提到的那个中。因此,如果用户选择一个日期,则必须找出数组“不可用”提供的下一个禁用日期的安排时间,并禁用该日期之后的所有日期的选择,因此类似于 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);
    }
});
4

1 回答 1

0

这是我要做的: - 在每个数据上单击查看是否填写了开始和结束日期 - 如果没有,不要做任何事情。- 当开始和结束数据可用时,生成一个数组,其中包含开始和结束数据之间的所有日期(包括两者)。- 数组不可用时执行 array_intersect - 如果您最终得到一个空数组,则可以预订日期。否则无法预订。

于 2017-05-12T11:45:51.320 回答