Fullcalendar的remoteEventSource正在删除所有来源

时间:2012-05-15 16:37:22

标签: javascript jquery fullcalendar

我有一个fullcalendar,带有一些添加和删除json源的按钮。 脚本完美地添加了源代码,但是当我尝试删除一个源代码时,它会删除所有源代码。 我错过了某些地方,也许有人可以帮助我。

$('.mycheckboxes').click(function() {

    // retrieve calendar ID from clicked checkbox
    var cal = $(this).attr('id');

    // define a json event source
    var src = {
        url: 'calendarJSON.php', 
        type: 'GET', 
        data: { calendar_id: cal }
    }


    if( $(this).is(':checked')) {
        $('#calendar').fullCalendar( 'addEventSource', src );
    } else {
        $('#calendar').fullCalendar('removeEventSource', src );

    }
});

为什么要删除所有事件来源?我该如何指定要删除的那个? 感谢。

2 个答案:

答案 0 :(得分:2)

the (very good) docu中所述,只需传递事件来源的网址即可。

所以试试这段代码:

$('#calendar').fullCalendar('removeEventSource', 'calendarJSON.php' );

在这里,您可以找到一个工作示例http://jsfiddle.net/domi27/bQXYp/1/

答案 1 :(得分:1)

就像domi27已经说明的那样,fullcalendar允许将URL作为事件源传递。但它也允许像你一样传递数组。而你是对的。在您的情况下,所有来源都将被删除。

我将通过一个小技巧解决这个问题:在您的网址上附加内容,让fullcalendar区分事件来源!

e.g。

// define a json event source
var src = {
    url: 'calendarJSON.php?dummy=' + cal, 
    type: 'GET', 
    data: { calendar_id: cal }
}