Полный календарь: отображение времени начала - PullRequest
1 голос
/ 09 октября 2010

Если я укажу свои события жестким кодированием в массиве событий javascript, время будет отображаться перед заголовком в календаре:

Javascript код:

события: [ { название: «мой титул», начало: новая дата (2010,9,8,11,12) } ]

приводит к отображению «11:12 my title» как события в моем календаре.

Но когда я использую функцию для создания событий (получения данных через ajax), время не отображается в календаре. Вот код для функции успеха ajax (в этом примере я жестко закодировал дату начала, но не имеет значения, как установить дату начала, она никогда не отображается, отображается только заголовок):

        success: function(doc) {

            var events = [];

            $(doc).find('event').each(function() {
                events.push({
                    title: $(this).find('title').text(),
                    start: new Date(2010,9,8,11,12),
                    url:   $(this).find('url').text(),
                    className: $(this).find('className').text(),
                    allDay:    $(this).find('allDay').text()
                });
            });

            callback(events);
        }

Похоже, что дата начала обрабатывается по-разному через функцию событий. Я попытался использовать «new Date ()» или указать дату в виде строки (7 октября 2010, 14:10) или в качестве метки времени Unix. Кажется, он распознает дату, потому что событие появляется в нужный день календаря, но время не отображается, когда я использую функцию ajax.

Есть идеи?

Спасибо

Ответы [ 4 ]

1 голос
/ 20 декабря 2011

Согласно API, если для allDay установлено значение true, то любое время, которое вы отдали, будет занято как целый день, оно никогда не будет показывать нужное время.

Установите для allDay значение false, есливы хотите это событие в течение определенного периода времени.

1 голос
/ 28 октября 2010

Возможно с formatDate:

success: function(doc) { 

            var events = []; 

            $(doc).find('event').each(function() { 
                events.push({ 
                    title: $(this).find('title').text(), 
                    start: $.fullCalendar.formatDate( new Date(2010,9,8,11,12),  'yyyy-MM-dd HH:mm:ss'), 
                    url:   $(this).find('url').text(), 
                    className: $(this).find('className').text(), 
                    allDay:    $(this).find('allDay').text() 
                }); 
            }); 

            callback(events); 
        } 
0 голосов
/ 09 октября 2010

Похоже, что если я передам начальную строку в формате «8 октября 2010, 13:13», а затем передам ее объекту события, не изменяя его, будет отображаться время. Я еще не закончил, но, похоже, это работает.

0 голосов
/ 09 октября 2010

Это может быть опция allDay.Возможно, попробуйте передать allDay: false, и посмотрите, что произойдет.Без кавычек, конечно, нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...