我正在使用完整日历的"事件"元素来动态获取数据。这工作正常,我很满意,但是,我需要能够将 GET/POST 参数传递给 PHP 页面,并且我不确定如何刷新调用以包含更改的变量......我的代码是这样的:
function redrawMe() {
var resource_array = get_resources();
$("#calendar").fullCalendar({
"cache" : true,
"editable" : true,
"events" : {
"url" : "/ajax/get_calendar_entries.php",
"data" : function() {
return { "resources" : resource_array }
}
}
});
}
function get_resources() {
let view_id = $("#view_id").val();
let promise = $.ajax({
"url" : "/ajax/get_resources.php",
"data" : { "view_id" : view_id },
"dataType" : "json"
});
promise.done(function(data) {
return data;
});
}
博士:
我有一个下拉菜单("view_id"(,只需要触发redrawMe()
并动态重绘日历。
目前,我可以在开发人员工具的网络选项卡中看到"事件"url没有被触发,我认为这可能是因为#calendar
div"已经"是一个日历?
有意义?
按照@ADyson的建议 - 我在 ajax 调用中传递view_id并使用它,而不是多次调用。
函数重绘Me(( {
$("#calendar").fullCalendar({
"cache" : true,
"editable" : true,
"eventClick" : function(calEvent, jsEvent, view) {
showJob(calEvent.job_id);
},
"data" : function() {
return {
"view_id" : $("#view_id").val(),
});
});
}
以上工作正常
当我想强制刷新时,我使用这个:
$("#calendar").fullCalendar("refetchEvents");