Используя Fullcalender.js, я показываю события в календаре. Я добавил функцию dayclick и event clicktionality. Но когда я использую date.format() в dayClick(), он показывает дату ошибки. Format() не является функцией. Я обновил свой fullcalendar до версии 3.5.1, после чего я могу отлично работать с функцией dayClick. Но события, показывающие начальное время как значение по умолчанию, даже если они не дают никакого названия.
$(document).ready(function() {
$('#ConfCalendarBlock').fullCalendar({
height:400,
editable: true,
events: modJs.getConfJsonUrl(),
loading: function(bool) {
if (bool) $('#loadingConfCalendarBlock').show();
else $('#loadingConfCalendarBlock').hide();
},
dayClick: function (date, jsEvent, view) {
modJs.getdayclick(date.format());
},
eventClick: function(calEvent, jsEvent, view) {
modJs.getEventClcik(calEvent.id);
},
});
});
в моем php-коде
public function listToEvent($book){
$event = array();
$starttime = date("g:i a", strtotime($book->from_date));
$endtime = date("g:i a", strtotime($book->to_date));
$event['id'] = $book->id;
$event['title'] = $starttime."-".$endtime. " (".$book->type.")";
$event['start'] = $book->from_date;
$event['end'] = $book->to_date;
$eventBackgroundColor = "";
$event['color'] = $eventBackgroundColor;
$event['backgroundColor'] = $eventBackgroundColor;
$event['textColor'] = "#FFF";
return $event;
}
Календарь показывает событие как
9: 15a 9:15 - 10:30 (Встреча)
Время начала отображается дважды, но если я ссылаюсь на старую версию Календаря, это показывает, как я хочу. Даже я не дал никакого названия событию, тогда календарь показывает время начала, как 9: 15a, в строке событий синего цвета.
Кажется, вам нужно установить displayEventTime
в false
date
в dayClick как объект Date JS и переключился на использование momentJS. Формат () является функцией момента JS, а не даты. Вот почему у вас такая ситуация.