Tengo un calendario inicializado:
$(document).ready(function(){ var calendarEl = document.getElementById("calendar"); var calendar = new FullCalendar.Calendar(calendarEl, { //options }); calendar.render(); });Y un selector de fecha que, cuando se hace clic en él, redirige a una parte diferente del código:
$(function(){ $("#datepicker").datepicker({ //options onSelect: function(dateText) { resultado('mensaje', 'procesos.php?ac=10&v=D&fecha=' + dateText) }, }); });En esa parte del código, solía poder elegir la fecha y llamar al calendario ya representado para cambiar la fecha que se muestra y verlo así:
var ndate = new Date(//date conversion); $('#calendar').fullCalendar('gotoDate', ndate); $('#calendar').fullCalendar('changeView', 'agendaDay');Después de actualizar a v5, parece que no puedo replicar esto. He leído cada página de documentos en FullCalendar y he probado diferentes versiones de esto sin suerte:
$('#calendar').calendar(function(){ calendar.gotoDate(ndate); calendar.changeView(timeGridDay); });¿Alguien sabe cómo reemplazar .fullCalendar o tiene alguna sugerencia sobre qué más probar? ¡Muchas gracias!
https://fullcalendar.io/docs/methods muestra cómo puede hacer esto. Obtiene la instancia del calendario que inicializó usando var calendar = new FullCalendar.Calendar... y puede llamar a funciones en él, como cualquier instancia de clase JS:
calendar.next(); Por supuesto, si necesita usarlo en otra parte de su secuencia de comandos, debe asegurarse de que el calendar esté dentro del alcance en el lugar que lo necesita. Si no tiene una estructura de clases más sofisticada o cualquier otra cosa que le brinde consideraciones de alcance, entonces, en el caso más simple, podría hacerlo global, por ejemplo.
var calendar; //global variable $(function() { calendar = new FullCalendar.Calendar(calendarEl, { //options }); calendar.render(); });