FullCalendar addEventSource显示双数据?

时间:2011-07-05 09:14:45

标签: jquery fullcalendar

修改 解决了。这是我的错字和这个帖子的一点帮助: callback for month, week, day title bar button clicks?
  基于此,我设法通过此顺序使其正常工作:

    $('.fullcalendar').fullCalendar('removeEventSource', source1);
    $('.fullcalendar').fullCalendar( 'addEventSource', source2 );  

编辑前

我遇到了重复显示已获取事件的问题。我有一个下拉列表的用户。当我选择用户时,我首先删除源,然后添加新的。但是当我改变一天时,它会显示来自两个来源的事件。

首先,我使用默认源创建默认视图:

var source1 = {  
           url: 'json-events.php',
           type: 'POST',
           data: {
              start: $('.fullcalendar').fullCalendar('getView').start,
              end: $('.fullcalendar').fullCalendar('getView').end       
          }
         }

这用于获取初始事件:

$('.fullcalendar').fullCalendar({
    eventSources: [
      source1
    ]

然后,在选定的下拉列表用户之后进行更改:

$("select.getUser").change(function(){
    var userid=$('select.getUser :selected').val();
    $('.fullcalendar').fullCalendar('removeEventSource', source1);
    $('.fullcalendar').fullCalendar('removeEvents');
    var source2={
        url: 'json-events.php',
        type: 'POST',
        data: {
            start: $('.fullcalendar').fullCalendar('getView').start,
            end: $('.fullcalendar').fullCalendar('getView').end,
            userid : userid
        }
    };
    $('.fullcalendar').fullCalendar( 'addEventSource', source2 );
})

问题是,当我改变一天或一个月或一周时,我会向服务器发出多个POST请求,显示我选择的每个用户的事件。例如,如果我选择user1,事件显示正确,那么我选择user2,再次,事件是正常的。但是,如果我现在改变这一天,我将从user1和user2显示事件(我向服务器发出2个POST请求)

1 个答案:

答案 0 :(得分:3)

解决。这是我的错字和这个帖子的一点帮助: callback for month, week, day title bar button clicks?
  基于此,我设法通过此顺序使其正常工作:

    $('.fullcalendar').fullCalendar('removeEventSource', source1);
    $('.fullcalendar').fullCalendar( 'addEventSource', source2 );