如何仅从一个来源提取事件 Fullcalendar

How to extract event from one source only Fullcalendar

我必须为我公司的员工建立一个程序来申报工作日、休假日、生病日等。我的想法是使用全日历拖放功能来做一些不错的事情。仅在“月”视图中,您将事件 "Work" 拖动到您工作的日期,就这么简单。

我尝试做的是提取显示的事件以将它们放入数据库,我尝试使用:

$('#calendar').fullCalendar('clientEvents');

但我也从我的 google 日历中获取事件,该日历用于在背景事件中显示 public 假期。

换句话说,我有两种类型的事件,一种是我拖放的,另一种是 googlecalendar 在 backgroundEvents 上放置的。

简而言之,如何过滤我提取的事件以忽略来自 googlecalendar 的事件?所以我把日历中的所有事件都放在一个数组中,但我不想要来自 google.

的那些

如果可能的话,我将非常感谢关于下一步的任何提示,将这些事件放入数据库中。

如何只提取我手动添加的事件?

好吧,感谢办公室的一位伙伴,我终于得到了这个。留下答案以防万一:

googlecalendars 事件和手动添加的事件没有相同的属性,googlecalendars 事件具有 'source' 和 'url' 属性,而其他事件则没有。

你想要做的是获取所有事件,循环遍历你的数组 select 只有那些没有源属性的人。 :

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);
});