Как добавить больше событий в существующий экземпляр полного календаря? - PullRequest
2 голосов
/ 18 января 2011

Я смотрю на FullCalendar , но я столкнулся с парой проблем.

Задача 1.

Я не знаю, как добавить новые события в существующий экземпляр

$('#calendar').fullCalender({ // options set }); // initial set.

Итак, теперь скажите, хочу ли я добавить к этому канал json позже и удалить существующий канал. Единственный способ, которым я знаю, как это сделать, это

$('#calendar').fullCalendar('removeEventSource', "Calendar/GetDates");
$('#calendar').fullCalendar('addEventSource', "Calendar/GetDatesSearch?term=8");  

Я думаю, что это немного глупо, так как я выбрал календарь X раз для каждого варианта? Я пытался сделать

 $('#calendar').fullCalender(
    {
        addEventSource: "Calendar/GetDatesSearch?term=8",
        removeEventSource, "Calendar/GetDates"
    }); 

но, похоже, это создает новый календарь. Поэтому у меня будет несколько календарей (что-то, чего я не хочу).

Моя вторая проблема

У меня есть событие клика по тегу привязки

<a href="#" id="ReRender">Re-Render</a>

, а затем

$('#ReRender').click(function () {
    $('#calendar').fullCalendar('removeEventSource', "Calendar/GetDates");
    $('#calendar').fullCalendar('addEventSource', "Calendar/GetDatesSearch?term=8");          
    return false;
});

1-й щелчок по тегу привязки (ReRender) работает просто отлично. Я щелкаю его еще пару раз и нажимаю стрелку, чтобы перейти к следующему месяцу, когда он будет отображать один и тот же канал несколько раз.

Так что я предполагаю, что каждый раз, когда я нажимаю, он добавляет другой канал, даже если это точно такой же канал.

Поэтому я нажимаю «ReRender» 50 раз и нажимаю в следующем месяце. Он считает, что у меня 50 каналов, хотя они все одинаковые.

Любые рекомендации, как это обойти?

1 Ответ

3 голосов
/ 18 января 2011

Я люблю полный календарь! Добавление нового события происходит следующим образом ...

$("#calendar").fullCalendar("renderEvent", eventObj, true);

Третий параметр указывает, хотите ли вы, чтобы событие прикреплялось, если канал перерисовывается. Обычно я делаю.

Также для повторного отображения ваших событий ...

$("#calendar").fullCalendar('rerenderEvents');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...