2012-02-08 116 views
1

我正在使用jquery完整日曆並從json feed填充它。現在我想要對事件進行客戶端過濾。我認爲我可以實現的方式是,首先製作一個本地事件數組,然後在客戶端使用它來顯示和隱藏事件。爲了解釋更多,我首先硬編碼了一系列事件以查看日曆的工作情況。然後,我使用'clientEvents'來過濾事件,當我想要所有事件返回時,我只需從本地源獲取它們,即硬編碼事件數組。我可以複製這一些如何與我的JSON飼料,即我可以告訴日曆初始化一個數組與這個來源,然後用它來過濾我的事件,直到我改變月份,它提取事件並更改內容陣列?jquery完整日曆客戶端過濾

或者如果有更好的方法來做到這一點,請告訴我,因爲我不能通過ajax調用進行過濾,因爲由於某些原因,這是一個非常昂貴的調用,需要儘可能避免。

任何指針都會有很大的幫助。

回答

0

您可以使用JSON文件加載您這樣的活動

$('#calendar').fullCalendar({ 

    eventSources: [  
     // your event source 
     { 
      url: '/myfeed.php', // this is JSON file 
      type: 'POST', 
      data: {custom_param1: 'something'}, 
      error: function() { 
       alert('there was an error while fetching events!'); 
      },    
     } 

     // any other sources... 

    ] 

}); 

REFERENCE

也是要動態地添加事件源。

然後用這個addEventSource

.fullCalendar('addEventSource', source); 

source嘗試可能是陣列/ URL /功能就像在事件選項。
活動將立即從此源獲取並放置在日曆上。

+0

是的我知道和我的JSON飼料工作正常,我現在想過濾事件,但我不想每次從數據庫中獲取事件,即當我過濾某些標準的事件,然後刪除條件,它不應該從數據庫中獲取事件,而是應該將所有事件放在clint端並且應該使用它們。如果我改變了我的月份,只有它應該調用json feed並獲取新事件。 – khizar 2012-02-08 10:22:36

+0

thanx很多爲你的快速反應:)其實我的問題不是關於添加事件或來源,我的問題是,一旦添加,我應該能夠過濾客戶端的事件。我可以使用'clienEvents'方法從客戶端事件中刪除事件,但是一旦過濾器被刪除並且我調用了重新獲取事件,它就會調用feed並從數據庫中獲取事件,這是我不想要的它的確如此,我希望它能在客戶端保持事件並從那裏重新填充。 – khizar 2012-02-08 10:39:29

+0

@khizar:我剛剛在我最近的項目中完成了同樣的事情: – diEcho 2012-02-08 10:50:02