jQuery FullCalendar - попытка добавить событие и отображение в календаре не удалась - PullRequest
6 голосов
/ 22 марта 2010

Я пытаюсь выяснить, как использовать замечательный плагин Адама Шоу для jQuery - FullCalendar, чтобы добавить событие в наш проект: Разрабатываемая страница онлайн-заказа воздушных шаров

В основном, если вы нажметена «шаге 1» и выберите «самовывоз из магазина», на странице откроется представление календаря, где вы можете нажать в правом верхнем углу на кнопке «неделя», чтобы изменить представление на еженедельный период.То, чего я пытаюсь добиться, - это когда клиент нажимает на пустую ячейку за день, она может создать свое событие на этом месте.Вот мой код в custom.js:

dayClick: function() 
            {

                var n = parseInt(this.className.match(/fc\-slot(\d+)/)[1]);
                alert('a day has been clicked on slot ' + n);

                //trying to add an event using the renderEvent() method.
                $('#' + type + 'Calendar').fullCalendar('renderEvent', 
                        {
                            title : 'my pickup slot',
                            start : new Date(y,m,d, 12, 30),
                            end   : new Date(y,m,d, 13, 00),
                        });
            }

Он пытается использовать метод API FullCalendar renderEvent , чтобы создать такое событие.Однако, хотя мой код выполняется без ошибок, и я вижу подсказку, в которой указано, какой слот был нажат, это событие не будет отображаться в календаре.

Есть ли другой способ сделать это, или мой код делаетчто-то не так?

Любое предложение будет высоко ценится, большое спасибо заранее.

1 Ответ

5 голосов
/ 22 марта 2010

Это простой недосмотр. Значение type в функции loadCalender(type) устанавливается на pickupCalendar при вызове closeStep1OpenSetp2("pickupCalendar");.

Но вы делаете $('#' + type + 'Calendar'), что оценивается как $('#pickupCalendarCalendar'), и нет элемента с этим идентификатором. Правильным будет $('#pickupCalendar'), поэтому либо удалите Календарь в параметре, либо исключите + 'Calendar'. Тогда это должно работать просто отлично

...