FullCalendar - не отображаются события
Приветствую.
При загрузки страницы я инициализирую календарь. В eventSources я указываю метод который обращается к веб сервису и получает события. В отладчике фаерБаг видно что, в event.start, event.end и event.title я данные получаю, но в календаре на странице они не отображаются. Что я делаю не так? может нужно как то по другому загружать их? //Создание календаря при загрузки страницы function CreatCalendar() { $(document).ready(function () { $('#calendar').fullCalendar({ firstDay: 1, height: 300, axisFormat: 'H(:mm)', timeFormat: 'H(:mm)', slotDuration: "00:15:00", minTime: "08:00:00", maxTime: "17:00:00", allDaySlot: false, allDayDefault: false, header: { left: 'prev,next today', center: 'title', right: 'month,agendaDay' }, eventSources: [LoadEvent()] }); }); } //Загрузка событий из веб сервиса function LoadEvent() { $.ajax( { type: 'POST', contentType: 'application/json', data: "{}", dataType: 'json', url: "WebServiceAppointment.asmx/GetEvent", cache: false, success: function (response) { events: $.map(response.d, function (item, i) { var event = new Object(); event.start = new Date(Number(item.StartDate.replace(/[^0-9]/g,''))); event.end = new Date(Number(item.EndDate.replace(/[^0-9]/g,''))); event.title = item.Title; event.color = 'red'; event.textColor = 'black'; return event; }) } }) } Благодарю за помощь! |
Решил проблему сам. Делюсь с Вами!
1. Изменил немного загрузку событий 2. Календарь загружался быстрее чем выполнялся ajax запрос, поэтому выключил асинхронность async: false Рабочий код! //Создание календаря при загрузки страницы function CreatCalendar() { $(document).ready(function () { $('#calendar').fullCalendar({ firstDay: 1, height: 300, axisFormat: 'H(:mm)', timeFormat: 'H(:mm)', slotDuration: "00:15:00", minTime: "08:00:00", maxTime: "17:00:00", allDaySlot: false, allDayDefault: false, header: { left: 'prev,next today', center: 'title', right: 'month,agendaDay' }, eventSources: [{ events: LoadEvents() }] }); }); } //Загрузка событий из веб сервиса function LoadEvent() { var events = []; $.ajax( { type: 'POST', async: false, cache: false, contentType: 'application/json', data: "{}", dataType: 'json', url: "WebServiceAppointment.asmx/GetEvent", cache: false, success: function (response) { $.map(response.d, function (item, i) { var event = new Object(); event.start = new Date(Number(item.StartDate.replace(/[^0-9]/g,''))); event.end = new Date(Number(item.EndDate.replace(/[^0-9]/g,''))); event.title = item.Title; event.color = 'red'; event.textColor = 'black'; return event; }) } }) return events; } |
Часовой пояс GMT +3, время: 01:16. |