2012-02-08 99 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