2016-08-25 182 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