2013-04-11 162 views
1

我已经安装FullCalendar并且运行良好,从我的数据库中提取课程。FullCalendar跳回到当前日期而不是保持当前月份

您可以通过单击一个按钮重新提交页面,但通过不同的标准来查看不同的课程。

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

是否有人知道如何使日历返回到您刷新页面后的页面?

我感觉它可能与getdate有关,因为我得到了下面的代码来工作,但似乎无法通过URL将结果传回日历设置。如果你使用jquery.cookie可以存储当前观看日期在页面中的cookie的用户正在观看和使用该值时,页面设置defaultDate

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

回答

0

您可以使用gotoDate方法重载。在通过这些作为选项,当你初始化你的日历:

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: ''}); 
} 

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

+0

谢谢,虽然我如何通过一些增值税,我有一些getdate? – user2268552 2013-04-11 08:13:04

+0

我在回答中做了一些修改 – 2013-04-11 09:53:38

2

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

很好的回答!干净,简单,为我工作。 – 2015-07-09 10:05:02

1

我用以上两种的组合。在创建,移动或调整事件以及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); 
     ... 
    } 

工程就像一个魅力。

相关问题