2013-06-03 81 views
1

我非常堆疊以通過更新我的數據庫條目呈現事件。最初, 我已經成功地渲染了事件;jQuery完整日曆事件通過ajax調用

我有事件數組:

{title: 'Available', start: new Date(2013, m, 05, 09,50), end: new 
Date(2013, m, 05, 10,00), allDay: false},{title: 'Available', start: 
new Date(2013, m, 04, 00,20), end: new Date(2013, m, 04, 00,50), 
allDay: false} 

將在壓光機通過渲染:

events:[<?php echo $events?>] 

高達對此,代碼工作良好並呈現事件按要求。

在prev之後,單擊下一個按鈕,我必須通過更新數據庫來呈現事件。這是這樣的:

$('.fc-button-next span').live('click', function() { 
     var calandar = $('#calandar'); 
     $.ajax({ 
      url: 'fetchEvents', 
      dataType: 'JSON', 
      type: 'POST', 
      success: function(doc) { 
       calandar.fullCalendar('removeEvents',event), 
       calandar.fullCalendar('renderEvent',doc.events); 
       calandar.fullCalendar('rerenderEvent',doc.events); 
      } 
     }); 
}); 

「fetchEvents」返回相同的事件格式之前,但在JSON形式,如:

"{title: 'Available', start: new Date(2013, m, 05, 09,50), end: new Date(2013, m, 05, 10,00), allDay: false}" 

不知道,如何呈現JSON事件對象上點擊下一個事件。那就是我必須通過ajax調用來提供全新的事件。請建議。

解決:

相反,我已經建立,我創建JSON事件由盧卡斯Koziara所建議的事件在他的第一個建議,這樣每次日曆事件發生時,它獲得了eventSource去取事件。 JSON事件

[{"title":"Available","start":"2013-06-06 05:20:00","end":"2013-06-06 05:50:00","allDay":false}] 

相反的事件,我在eventSources取得了Ajax調用與獲得這種類型的JSON EVENTS. 這看起來像:

eventSources: [{ 
        url: 'fetchEvents', 
        type: 'POST' 
       }] 

所以,當calander呈示第一次或next,previoustoday按鈕被點擊,calander它自我提取事件,如eventSources.

回答

1

第一個建議:爲什麼不使用一種類型的事件源?例如,使用JSON訂閱源 - 您可以通過GET參數startend獲取事件範圍,因此如果您更改月份或視圖,則可以從數據庫中發送appriopriate事件。

第二個建議:如果你一定需要兩種類型的事件源,儘量使用addEventSource/removeEventSource

+0

是的,我想在你的第一個建議是同一eventSources這樣做:[{網址:「fetchEvents」} ]。但事件不是按照指定的json格式呈現。 – TNC

+0

首先檢查你的fetchEvents函數是否被fullcalendar命中。如果沒有,請指定沒有'url'參數的函數。 –

+0

感謝您的建議。我已經用我想要的想法進行了編輯,我會檢查您的答案是否符合您的建議。 – TNC