2013-04-11 156 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); 
     ... 
    } 

工程就像一個魅力。

相關問題