3

我有一个完整的日历,其中包含一些添加和删除 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 );

    }
});

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

4

2 回答 2

2

(非常好)文档中所述,传递事件源的 url 就足够了。

所以试试这个代码:

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

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

于 2012-05-17T08:52:35.073 回答
1

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

我会用一个小技巧来解决这个问题:在你的 URL 中添加一些东西,让 fullcalendar 区分事件源!

例如

// define a json event source
var src = {
    url: 'calendarJSON.php?dummy=' + cal, 
    type: 'GET', 
    data: { calendar_id: cal }
}
于 2013-11-14T11:28:46.733 回答