2016-08-25 126 views
-1

我为我的预订系统使用了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 
} 
+0

目前还没有足够的信息可以帮助我们。请张贴代码。 – EJoshuaS

+0

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

+2

这应该在问题本身中;它更易于阅读,并且避免了阅读评论部分以查看问题的全部细节的必要性。请也澄清你的意思是“不起作用”。 – EJoshuaS

回答

1

您可以使用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' 
} 
+0

感谢Ryan89它现在有红色区域,但我仍然可以点击红色区域。 – kuzo

+0

@kuzo你是什么意思?点击一个区域不会做任何事情,除非您的代码在点击时执行某些操作,这些代码应该包含在您的问题中。我提供的代码将防止事件被拖入指定的区域,例如您的问题。任何额外的细节都需要包含在你的问题中,我无法猜测你的应用程序是如何工作的。 – Ryan89

+0

@ Ryan89我想禁用某一天,以便用户无法在当天点击。 – kuzo