重新绑定日历以获取新数据

时间:2018-01-08 14:57:59

标签: javascript php ajax fullcalendar

我正在使用"事件" fullcalendar的元素动态获取数据。这很好用,我很满意,但是,我需要能够将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已经"已经"日历?

有意义吗?

1 个答案:

答案 0 :(得分:0)

根据@ADyson的建议 - 我在ajax调用中传递view_id并使用它,而不是多次调用。

function redrawMe(){

$("#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");