如何获取特定月份的所有活动ID?
var source = { events: [
{
title : val.xxxxName,
start : val.StartDate,
end : val.EndDate,
xxxxDetailID : val.xxxxDetailID,
}
]};
$('#calendar').fullCalendar( 'addEventSource', source );
我有很多活动。我可以使用以下方式获取所有活动:
$('#calendar').fullCalendar('clientEvents');
但我只需要一个月的活动ID。
答案 0 :(得分:2)
当我查看文档here时,我发现您可以设置自定义过滤器。
这样的事情应该有用......
$('#calendar').fullCalendar('clientEvents',function(event){
/*Gets the events of the current month in an array*/
if (event.start.getMonth() == $('#calendar').fullCalendar('getDate').getMonth()) {
return true;
}
else {
return false;
};
});
答案 1 :(得分:1)
这可以让你在任何你想要的月份通过。
声明一个枚举数月。
var Months = { January: 0, February: 1, March: 2, ... };
通过你想要的月份。
var desiredMonth = Months.January;
function getEventsForMonth(desiredMonth) {
var result = new Array();
for(var i = 0; i < source.events.length; i++) {
if(source.events[i].getMonth() == desiredMonth ) {
result.push(source.events[i]);
}
}
return result;
}
$('#calendar').fullCalendar('clientEvents', getEventsForMonth(desiredMonth));
答案 2 :(得分:0)
这是工作jsfiddle,点击下一步和上一页按钮..它会显示特定月份的事件。
.....
....
function getEventsForCurrentMonth(){
for(var i=0; i< events.length; i++) {
if (events[i].start.getMonth() == $('#calendar').fullCalendar('getDate').getMonth()) {
monthEvents.push(events[i].id);
}
}
}
....
答案 3 :(得分:0)
您可以使用在fullCalendar的loading
函数中获取事件的方式。
看看这个例子,
loading: function(){
var allevents = $('#calendar').fullCalendar('clientEvents');
}
在eventAfterAllRender
回调中,在循环中获取所需月份的id
个事件。