Ответ 1
Сохраняются ли ваши события на стороне клиента или на стороне сервера? Если на стороне клиента это должно работать специально, если вы хотите, чтобы событие было в указанное время:
$('#calendar').fullCalendar({
dayClick: function(date, allDay, jsEvent, view) {
$('#calendar').fullCalendar('clientEvents', function(event) {
if(event.start <= date && event.end >= date) {
return true;
}
return false;
});
}
});
Это даст события, которые перекрывают время щелчка и сохраняются на стороне клиента. Для слота в течение всего дня он будет перекрывать все события в этот день.
Если вы хотите, чтобы все события в эту дату были сами, независимо от того, был ли нажат слот allDay или временной интервал.
$('#calendar').fullCalendar({
dayClick: function(date, allDay, jsEvent, view) {
if(!allDay) {
// strip time information
date = new Date(date.getFullYear(), date.getMonth(), date.getDay());
}
$('#calendar').fullCalendar('clientEvents', function(event) {
if(event.start <= date && event.end >= date) {
return true;
}
return false;
});
}
});
Если ваши события хранятся на сервере, вы захотите взять дату, указанную в вашем обратном вызове dayClick, и использовать ее для построения вызова на ваш сервер, чтобы получить информацию в любом формате, который вам нужен.
РЕДАКТИРОВАТЬ Если вы совершаете поездку в оба конца или пытаетесь получить информацию другими способами
$('#calendar').fullCalendar({
dayClick: function(date, allDay, jsEvent, view) {
var startDate = new Date(date.getFullYear(), date.getMonth(), date.getDay(), 0, 0, 0).getTime();
var endDate = new Date(date.getFullYear(), date.getMonth(), date.getDay(), 23, 59, 59).getTime();
var cache = new Date().getTime();
$.getJSON("/json-events.php?start="+startDate+"&end="+endDate+"&_="+cache,
function(data) {
// do stuff with the JSOn data
}
}
});
И если вы не хотите туда и обратно, вы также можете посмотреть, что происходит, скажем, refetchEvents в fullCalendar.js. Если вы не возражаете против того, чтобы расходиться со стволом fullCalendar, вы можете где-то сохранить выбранные события, чтобы вы не выполняли кучу манипуляций с DOM (в зависимости от количества событий, поскольку они становятся большими, что будет громоздким).