Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.09.2014, 09:32
Новичок на форуме
Отправить личное сообщение для D_Sergeevich Посмотреть профиль Найти все сообщения от D_Sergeevich
 
Регистрация: 16.09.2014
Сообщений: 7

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;
                    })
                }
            })
}


Благодарю за помощь!
Ответить с цитированием
  #2 (permalink)  
Старый 23.09.2014, 16:08
Новичок на форуме
Отправить личное сообщение для D_Sergeevich Посмотреть профиль Найти все сообщения от D_Sergeevich
 
Регистрация: 16.09.2014
Сообщений: 7

Решил проблему сам. Делюсь с Вами!
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;
}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка события внутри события grifangel Общие вопросы Javascript 6 04.09.2014 12:34
Запрет события Click на дочернем элементе, кот. находится за рамками родителя Smokvin Events/DOM/Window 11 10.11.2013 01:53
Дебаг js, или как найти обработчик события для тега jimm88 Events/DOM/Window 1 18.04.2012 15:11
Как сделать чтобы клавиатурные события пропускались сквозь флешку? khusamov Общие вопросы Javascript 3 11.02.2012 16:48
Передача параметров в колбэки и дальнейшее их вешанье на события. Gremlin Общие вопросы Javascript 17 13.08.2011 08:54