fullCalendar如何以编程方式设置事件

fullCalendar如何以编程方式设置事件,fullcalendar,Fullcalendar,我在语法上设置日历事件时遇到问题 我有一个页面,用户可以通过下拉菜单选择客户端来显示事件。我通过Ajax调用请求事件。这一切看起来都很好。但我在设置fullCalendar中的事件时遇到问题 这是我设置事件的代码: success: function(resp){ var r = resp.output; console.dir(r); jQuery('#student').html(r.studentname); jQuery('#calendar').full

我在语法上设置日历事件时遇到问题

我有一个页面,用户可以通过下拉菜单选择客户端来显示事件。我通过Ajax调用请求事件。这一切看起来都很好。但我在设置fullCalendar中的事件时遇到问题

这是我设置事件的代码:

success: function(resp){
    var r = resp.output;
    console.dir(r);
    jQuery('#student').html(r.studentname);
    jQuery('#calendar').fullCalendar( 'removeEvents' );  // <= This works
    jQuery('#calendar').fullCalendar( 'events', r.events ); // <= This doesn't
}
我找不到任何关于如何做到这一点的例子,所以我不确定我是否做对了

我只是注意到事件列表中的引号,也许这就是问题所在


如果这不是问题所在,那么有人对它为什么不工作有什么想法吗?

gwardell需要迭代响应,以便获取数组的元素。但我会将响应类型更改为JSON,如下所示:

[{
   "id": "1",
   "title": "Acupuncture",
   "start": "29-05-2013 10:00", //adapted this date format is accepted by fullcalendar
   "end": "29-05-2013 10:30",  
   "allDay": false  //You dont need to adapt this it was a mistake of me. Leave it be.
},etc, etc, etc]
请注意,只能有简单的JSON,不能有带有子数组的复杂JSON响应

PS.-在网上学习一点JSON格式,我相信你会明白的

不确定这一行,但您想做的只是在您的视图中创建事件,当您切换到其他视图时,将显示。您要做的是保存到数据库或用于存储数据以存储事件的任何内容。然后它们将是持久性的,当您重新设置事件时,事件将显示…因此jQuery'calendar'。fullCalendar'events','refetchevents'

假设您使用JSON和jQueryAjax进行此操作,那么如何在ajax调用中传递ID

或者如果您有一个eventsources数组


尝试在添加事件后调用rerenderEvents方法请告诉我是否需要进一步解释。。。我不知道如何使这三行代码适应JSON。顺便说一句,它们与下载时提供的示例完全相同,该示例已硬编码到演示/测试页面中。当您说“迭代”时,您的意思是我一次只能加载一个事件吗?此行用于加载事件是否正确?jQuery'calendar'。fullCalendar'events',r.events;这条线是替换事件的正确方法吗?代码jQuery'calendar'。fullCalendar'events',r.events;哦,谢谢你。我不知道它采用了字符串格式。我遵循他的例子,他创建了一个日期对象,并经历了各种各样的考验,以使其从MySql日期时间格式转换为该格式。我将尝试重新创建整个日历,看看是否有效。我想你是对的,我需要每天做一个AJAX调用来获取。但是我今晚必须有工作,所以我会晚一点做。
[{
   "id": "1",
   "title": "Acupuncture",
   "start": "29-05-2013 10:00", //adapted this date format is accepted by fullcalendar
   "end": "29-05-2013 10:30",  
   "allDay": false  //You dont need to adapt this it was a mistake of me. Leave it be.
},etc, etc, etc]
$.ajax({
                        type: 'POST',                           
                        url: _url,                          
                        data: {'id': 9999, //Just pass like this or you can set like a function 'id':getMyID(),                                                             
                                'title':name,
                                'start':start,
                                'end':end,
                                'allDay': allDay,
                                'editable': true, 
                                },                                      
                        success: function(data) {           
                            //TODO Do stuff

                        }
                    }); 
 var othersources = {       
        ausencias: {               
        url: _url,
        type: 'POST',
        data:{
            'id':getMyId(), // 'id':myidvalue                                                   
                         'func':func,
                      'year':y                                      
             },
        cache: false,              
        color: '#C1272D',
        textColor: 'white'                             
        }}