2016-05-31 103 views
1

亲爱的下午给大家,jQuery的:FullCalendar - 设置开始日期和完成整个日历天

我目前工作的一个web应用程序来组织活动。我使用express和mongoDB。

主要思想是用户可以用startDate和endDate字段创建一个“事件”对象,然后其他用户可以点击日历以说出他们什么时候可以。 所以我选择FullCalendar,但我只想显示startDate和endDate之间的一天。我们来举个例子。

假设我的事件被描述为遵循

{title: "Hey!", 
startDate: 05/31/2016 2:20 PM, 
endDate: 06/03/2016 2:20 PM 
} 

我想,我的日历将只显示这4天。你们知道如何帮助我吗?

回答

0

你看过自定义视图吗?他们允许你设置下面的持续时间。

var startDate = '2014-11-12'; 
var numberOfDays = 4; 

$('#calendar').fullCalendar({ 
    header: { 
     center: 'customDays' // buttons for switching between views 
    }, 
    defaultView: 'customDays', 
    views: { 
     customDays: { 
      type: 'basicWeek', 
      duration: { days: numberOfDays }, 
      buttonText: 'Custom Days' 
     } 
    }, 
    defaultDate: startDate 
}); 

Fullcalendar View Documentation

这样看来,你不能做到这一点在月视图,但你可以在basicWeek视图,检查出的例子JsBin

+0

如果我在这里理解正确,你在创建一个新的视图,但你并没有改变其他视图。我需要一种方法来禁用其他日子 –

+0

我已经更新了答案,您可以在标题中为想要的任何视图设置按钮,并将默认视图设置为所需的视图。 –

+0

你能给我一个月视图的例子吗?谢谢 –

0

好吧,我发现了它。我可以使用如下的函数dayRender

dayRender: function(date, cell) { 
     if(date.diff(event.startDate,'days') < 0 || date.diff(event.endDate,'days') > 0){ 
      $(cell).addClass('disable'); 
      console.log(cell) 
     } 
    }