Проблема, удаляющая источники события из FullCalendar (jQuery)

Прямо тогда я использую FullCalendar для отображения событий от многочисленных источников, некоторой локальной подачи JSON, других от Google Calendar. Я реализовал опцию, посредством чего единственный календарь может быть отображен / скрытый, когда это - флажок, TRUE или FALSE соответственно.

Я использую этот код к achive это:

$('#calendar_list input','#sidebar').live('click', function() {
    if($(this).is(":checked")==true) {
        // display the calendar     
        var source = $.fullCalendar.gcalFeed("http://www.google.com/calendar/feeds/usa__en%40holiday.calendar.google.com/public/basic");
        $('#calendar').fullCalendar('addEventSource', source);
    } else {
        // remove the calendar
        var source = $.fullCalendar.gcalFeed("http://www.google.com/calendar/feeds/usa__en%40holiday.calendar.google.com/public/basic");
        $('#calendar').fullCalendar('removeEventSource', source);
    }
});

Этот пример, если только показать / скрывает канал Google Calendar, проблема - он, никогда не скрывает календарь снова..., если я нажимаю времена флажка 10, (1=off, 2=on, 3=off, 4=on и т.д.) он отображает 5 версий того же календаря.

Документация, действительно кажется, не дает много ключа к разгадке, и кажется, что эта проблема заполонила некоторых на Стройплощадке Google для проекта.

Как я удаляю источник события?! *кричит*

Любая справка ценилась бы.

5
задан Ben Everard 22 June 2010 в 10:56
поделиться

2 ответа

Итак, я нашел решение своей проблемы, я решил просмотреть проблемы проекта Google и заметил, что кто-то поднял проблему для той же проблемы, что и у меня, теперь в документации говорится:

Источник должен быть ссылкой на исходный массив/URL/функцию. События из источника будут немедленно удалены из календаря.

Я думал, что это означает, что для удаления календаря я должен использовать источник, идентичный тому, который я добавил, так что если бы я добавил источник /getEvents.php, я должен был бы удалить его таким же образом, но на самом деле это означает, что я должен использовать точно такой же источник.

Поэтому я установил источник как элемент в массиве (id календаря как ключ), а затем я могу добавить / удалить календарь на основе этого, это теперь решило проблему.

8
ответ дан 14 December 2019 в 01:01
поделиться

Вам следует повторно обработать события после добавления / удаления источника или, возможно, попытаться повторно получить события , если это не сработает. Это может быть проблемой.

1
ответ дан 14 December 2019 в 01:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: