Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何仅从一个源提取事件Fullcalendar_Javascript_Php_Jquery_Fullcalendar - Fatal编程技术网

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

Javascript 如何仅从一个源提取事件Fullcalendar,javascript,php,jquery,fullcalendar,Javascript,Php,Jquery,Fullcalendar,我必须为我公司的员工建立一个申报工作日、休假日、病假日等的程序。。我的想法是使用fullcalendar拖放功能来制作一些漂亮的东西。仅在月视图中,您可以拖动事件工作并将其放置到您的工作日,就这么简单 我尝试做的是提取显示的事件,将它们放入数据库,我尝试使用: $('#calendar').fullCalendar('clientEvents'); 但我也从谷歌日历中得到了这个事件,谷歌日历用于在事件背景中显示公共假日 换句话说,我有两种类型的事件,一种是我拖放的事件,另一种是谷歌日历放在后台

我必须为我公司的员工建立一个申报工作日、休假日、病假日等的程序。。我的想法是使用fullcalendar拖放功能来制作一些漂亮的东西。仅在月视图中,您可以拖动事件工作并将其放置到您的工作日,就这么简单

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

$('#calendar').fullCalendar('clientEvents');
但我也从谷歌日历中得到了这个事件,谷歌日历用于在事件背景中显示公共假日

换句话说,我有两种类型的事件,一种是我拖放的事件,另一种是谷歌日历放在后台事件上的事件

简单地说,我如何过滤我提取的事件以忽略谷歌日历中的事件?所以我把日历上的所有事件都放进了一个数组,但我不想要谷歌的

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


只提取我手工添加的事件的解决方案是什么?

好吧,多亏了办公室的一位同事,我终于得到了这个。将答案留在这里以防万一:

googlecalendars事件和手动添加的事件没有相同的属性,googlecalendars事件有其他事件没有的“源”和“url”属性

您要做的是获取所有事件,使用循环遍历数组,并仅选择不具有源属性的那些:

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
                    }

                });
            }
        }
    }
这样,您可以只对事件执行操作,而不使用“源”属性


无论如何,谢谢你。Robin

您可以将函数传递给函数,如下所示:

var data = $('#calendar').fullCalendar('clientEvents',function(event){
    return !(event.source && event.source.googleCalendarId);
});

你的问题太宽泛了。请一次问一个具体的问题。让我们换一种方式来看:我有两种类型的活动,一种是我拖放的,另一种是谷歌日历上放在backgroundEvents上的。$'日历',完整日历'客户';将日历中的所有事件放入一个数组中,但我不想要谷歌的那些。仅提取我手动添加的事件的解决方案是什么。这足够清楚吗?@RohitGupta这个问题不是太广泛,因为他要求的是特定库中的特定功能。很好!如果是真的{ajax}如果是真的{nothing}那么它应该是完美的。谢谢编辑:好的,我可能说得太快了!event.source仍然返回所有事件,并说明条件是否为true,因此我不确定它是否正常工作。我之所以这样写,是因为我在您的答案中看到typeofevent.source=='undefined'。我假设所有手动添加的事件都没有source属性。你假设是对的,问题是,它不是只返回没有source的事件,而是返回每个事件和状态,如果它们拥有source属性。是的,这很奇怪。我已经编辑了我的文章,希望能有所帮助。它也有同样的问题。我试图提醒它,对于2个谷歌事件和1个自定义事件,我得到了假-假-真。别介意,虽然可能很难看,但我从之前的回答中得到了我所需要的。尽管如此,它仍然吸引着我。