我必须为我公司的员工建立一个程序来申报工作、休假、生病等天数。我的想法是使用完整的日历拖放功能来做一些漂亮的东西。只有在Month视图中,您可以拖动事件"Work"并将其放置到您工作的日期,就像这样简单。
我想做的是提取显示的事件,把它们放在数据库中,我尝试使用:
$('#calendar').fullCalendar('clientEvents');
但是我也从我的google日历中获得事件,用于在后台事件中显示公共假日。
换句话说,我有两种类型的事件,一种是我拖放的,另一种是由google日历放在backgroundEvents上的。
简单地说,我如何过滤我提取的事件,以忽略那些从谷歌日历?所以我把所有的事件从日历中放入一个数组,但我不想要那些从谷歌。
如果可能的话,我真的很感激下一步的任何提示,把这些事件在数据库中。
如何解决仅提取我手工添加的事件?
好吧,多亏了办公室的一个同事,我终于得到了这个。把答案留在这里,以防万一:
googlecalendars事件和手动添加的事件没有相同的属性,googlecalendars事件有'source'和'url'属性,而其他事件没有。
您要做的是获取所有事件,循环遍历数组并只选择那些没有source属性的事件。:
function send(){
var cal_events = ''
data= $('#calendar').fullCalendar('clientEvents');
for (var key in data) {
var event = data[key];
if (typeof(event.source) == 'undefined'){
//Your stuff
}
});
}
}
}
这样你就可以只对没有'source'属性的事件进行操作。
谢谢。罗宾
你可以像这样传递一个函数给clientEvents函数:
var data = $('#calendar').fullCalendar('clientEvents',function(event){
return !(event.source && event.source.googleCalendarId);
});