Я использую приведенный ниже код для инициализации полного календаря jQuery.jQuery FullCalendar. По умолчанию в первый месяц с событием
Однако не все месяцы имеют какие-либо события. Я хотел бы, чтобы начальный месяц в календаре был первым месяцем с событием.
Как пример. В настоящее время в июне нет событий в календаре до августа, поэтому я хотел бы, чтобы начальное представление календаря было по умолчанию в августе, а не в июне.
Аналогичным образом, если в июне были события ARE, я хотел бы, чтобы это было по умолчанию до июня.
$('#fullCalendar').fullCalendar({
selectable: true,
selectHelper: true,
header: {
left: 'prev',
center: 'title',
right: 'next'
},
events: function(start, end, callback) {
$.getJSON(jSONCalendarURL, {
token:jSONAPItoken,
productID: $('#fullCalendar').attr("data-id"),
startDate: $.fullCalendar.formatDate(start, 'yyyy-MM-dd'),
endDate: $.fullCalendar.formatDate(end, 'yyyy-MM-dd')
}, function(data){
var calevents = [];
$.each(data.response, function(index,item){
calDate = index;
child = item.Variations;
if (child.length > 0){
if (!$.isEmptyObject(child)){
calPrice = child[0].Price;
calID = child[0].ID;
calAvailable = child[0].Available;
calevents.push({
'id': calID,
'title': buildEventTitle(calAvailable,calDate.substring(calDate.length,calDate.length-2),child[0].Price, calID, child[0].RRP),
'start': $.fullCalendar.parseDate(calDate),
'end': $.fullCalendar.parseDate(calDate),
'allDay': true
});
}
}
});
callback(calevents);
highlightExisting();
}
);
},
eventRender: function (event, element, view) {
if (event.start.getMonth() != view.start.getMonth())
return false;
},
weekMode:'liquid'
});
Является ли то, что я пытаюсь сделать достижимым?
О, и убедитесь, что следующая дата больше, чем сегодня (или в предыдущем месяце) - чтобы вы не вернулись назад. – ganeshk
Как достичь этого, если события извлекаются по URL и не помещаются в массив? – cwhisperer