В глобальных JS заявляют,
var currentView;
В конструкторе fullCalendar есть viewDisplay триггер, используйте этот код.
viewDisplay: function(view) {
//This is very ugly way to change events on switch... but it works!
//Every time you you use 'gotoDate' this will trigger, also pressing next, previous
if (view.name != currentView) {
if (view.name == 'basicWeek')
{
$('#myDateSelector').hide();
$('#calendar').fullCalendar('removeEventSource', 'json_day.php');
$('#calendar').fullCalendar('addEventSource', 'json_week.php');
console.log("week");
}
if (view.name == 'basicDay')
{
$('#myDateSelector').show();
$('#calendar').fullCalendar('removeEventSource', 'json_week.php');
$('#calendar').fullCalendar('addEventSource', 'json_day.php');
console.log("day");
}
//You can use it some where else to know what view is active quickly
currentView = view.name;
}
},
Код очень взломанный, но он намного лучше, чем копание в исходном коде для календаря. Вы должны помнить, что нужно добавлять и удалять какие-либо фиды, обычно вы заметите, что ваши фиды начинают дублироваться. Это означает, что где-то отсутствует.
Thnks за вашу помощь :)) – Andrew