在fullcalendar插件中禁用时间槽
问题描述:
我为我的预订系统使用了fullcalendar插件。如何禁用日历中的日期和时间,以便用户无法在特定的日期和时间预订活动?我到目前为止尝试过的代码在下面,但它目前不起作用。在fullcalendar插件中禁用时间槽
disableDate:function(date)
{
if(options.disableDates) {
var disabled_dates = options.disableDates
var string_date = formatDate(date,"MM-dd-yyyy")
if (disabled_dates.indexOf(string_date) > -1)
{
return true
}
}
return false
}
答
您可以使用Background Events来实现此目的。在this codepen example中,我使用FullCalendar Background Events Demo中的一些代码来设置不允许将某些事件放置在该位置的后台事件。
// red areas where no events can be dropped
{
start: '2016-08-24',
end: '2016-08-28',
overlap: false,
rendering: 'background',
color: '#ff9f89'
}
查看周视图,您还可以在后台事件中只放置指定事件的情况下设置约束。
{
title: 'Meeting',
start: '2016-08-13T11:00:00',
constraint: 'availableForMeeting', // defined below
color: '#257e4a'
},
{
id: 'availableForMeeting',
start: '2016-08-11T10:00:00',
end: '2016-08-11T16:00:00',
rendering: 'background'
}
目前还没有足够的信息可以帮助我们。请张贴代码。 – EJoshuaS
disableDate:功能(日期){ 如果(options.disableDates){ VAR disabled_dates = options.disableDates 变种string_date = formatDate(日期, “MM-DD-YYYY”) 如果(disabled_dates.indexOf(string_date)> -1){ return true } } return false },我试过这个,但它不起作用。 – kuzo
这应该在问题本身中;它更易于阅读,并且避免了阅读评论部分以查看问题的全部细节的必要性。请也澄清你的意思是“不起作用”。 – EJoshuaS