Мне нужно отобразить расписание занятий, когда я нажимаю кнопки любого класса в объекте fullCalendar.
Я уже сделал это, чтобы получить расписание, когда я выбираю классную комнату, выполняющую вызов ajax.
Эта функция срабатывает, когда я нажимаю любую из кнопок в классе.
function passVal(id) {
var calendarioFiltro; //Prepare variable to retrieve DB data
@foreach($salones as $key => $salon)//This foreach fills a small table of a classroom info
if(id == '{{$salon->id}}'){
$('#tb_id').val('{{$salon->id}}');
$('#tb_nombre').val('{{$salon->nombre}}');
$('#tb_dimensiones').val('{{$salon->dimensiones}}');
$('#tb_capacidad').val('{{$salon->capacidad}}');
$('#tb_costobase').val('{{$salon->costobase}}');
$('#tb_costomobiliario').val('{{$salon->costo_mobiliario}}');
$('#tb_descripcion').val('{{$salon->descripcion}}');
}
@endforeach
let url = "salones/seleccionar";//Prepare variables to make an ajax call to my controller and load DB data
let tb_id = document.getElementById('tb_id').value;//From the small table I have a hidden field to send it to the ajax call for my query
let parametros;
let longitud;
var getEvent = [];
parametros = {
"tb_id" : tb_id,//This is the parameter to send
};
$.ajax({
url: url,
data: parametros,
success: function (data){//Now the data from the query will end up to an array
calendarioFiltro = data;
longitud = calendarioFiltro.length;
var insertEvents = {};
for(var i = 0;i <= longitud -1;i++)
{
var titulo = calendarioFiltro[i].nombre;
var color = calendarioFiltro[i].color;
var hora_inicio = calendarioFiltro[i].hora_inicio;
var fecha_inicio = calendarioFiltro[i].fecha_inicio;
var hora_fin = calendarioFiltro[i].hora_fin;
var fecha_fin = calendarioFiltro[i].fecha_fin;
insertEvents =//Prepare a JSON format so I can put it into the Events property of my FullCalendar
{
title : titulo,
backgroundColor: color,
borderColor: color,
startTime: hora_inicio,
startRecur : fecha_inicio,
endRecur: fecha_fin,
endTime: hora_fin,
};
getEvent.push(insertEvents);//Store all the events in a array format
};
}
});
}
Далее приведено определение свойств календаря. Я перепробовал много функций, но не добился успеха, это немного расстраивает.
document.addEventListener('DOMContentLoaded', function() {
var calendarEl = document.getElementById('calendar');
var calendar = new FullCalendar.Calendar(calendarEl, {
plugins: [ 'dayGrid', 'timeGrid','list'],
header: {
left: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek',
center: 'title',
right: 'prev,next'
},
locale: 'es',
allDay: false,
})
calendar.render();
});