FullCalendar会跳回当前日期,而不是停留在当前月份

时间:2013-04-11 02:50:09

标签: fullcalendar getdate

我安装了FullCalendar并且运行良好,从我的数据库中提取课程。

您可以根据单击再次提交页面但通过不同条件的按钮来查看不同的课程。

问题是,在重新加载页面和新内容时,它会跳回到当前日期,这在您查看未来3个月的课程时会非常烦人!

有人知道如何在刷新页面后让日历返回到您所在的页面吗?

我觉得它可能与getdate有关,因为我得到了以下代码,但似乎无法将结果通过URL传递回日历设置。

$('#my-button').click(function() {
    var d = $('#calendar').fullCalendar('getDate');
    alert("The current date of the calendar is " + d);
});

3 个答案:

答案 0 :(得分:3)

如果您使用jquery.cookie,则可以将当前查看的日期存储在正在查看的页面的cookie中,并在页面重新加载时使用该值设置defaultDate。在初始化日历时将这些作为选项传递:

defaultView: Cookies.get('fullCalendarCurrentView') || 'month',
defaultDate: Cookies.get('fullCalendarCurrentDate') || null,
viewRender: function(view) {
  Cookies.set('fullCalendarCurrentView', view.name, {path: ''});
  Cookies.set('fullCalendarCurrentDate', view.intervalStart.format(), {path: ''});
}

此代码还会保存当前视图(例如,月,日等等)

答案 1 :(得分:2)

我使用了上述两者的组合。我在创建,移动或调整事件以及viewRender时设置了开始日期的localStorage值,然后将该值分配给defaultDate。

defaultDate: localStorage.getItem('Default_FullCalendar_Date'),    
viewRender: function(view) {
        localStorage.setItem('Default_FullCalendar_View', view.name);
        ...
    },

    select: function(start, due){
        localStorage.setItem('Default_FullCalendar_View', start);
        ...
    },

    eventDrop: function(event, delta, revertFunc, jsEvent, ui, view){
        localStorage.setItem('Default_FullCalendar_View', event._start._d);
        ...
    },


    eventResize: function(event, delta, revertFunc, jsEvent, ui, view){
        localStorage.setItem('Default_FullCalendar_View', event._start._d);
        ...
    }

像魅力一样。

答案 2 :(得分:0)

您可以使用gotoDate方法:

var d = $('#calendar').fullCalendar('getDate');
$('#calencar').fullCalendar( 'gotoDate', d.getFullYear(), d.getMonth(), d.getDate() )