0

このクールな JavaScriptスケジューラを使用しています。最初に、ページにロードします

function get_dependencies() {
    //event calendar
    $(".myscheduler").dhx_scheduler({
        xml_date: "%Y-%m-%d %H:%i",
        date: new Date(2014, 4, 25),
        mode: "month"
    });
    scheduler.load($("body").attr("data-link") + "/core/plugins/dhtmlcalendar/events.xml");
}

そして関数を呼び出します

$(window).load(function(){
   get_dependencies();
});

そして、いずれかのナビゲーション (Ajax ページに関連付けられたナビゲーション) がクリックされると、ページが呼び出され、スケジューラが再度レンダリングされます。

$.ajax({
    url: '/ajax-page',
    type: 'post',
    dataType: 'html',
    beforeSend: function () {
        $("#loading").show();
    },
    data: {
        page: this_tab_content_link,
        _token: $("body").attr("data-token")
    },
    success: function (data) {
        $(".active_tab_content").html(data);
        if ($(this).hasClass("reload_dependencies")) {
            get_dependencies();
        }
        $("#loading").hide();
    }
});

しかし残念なことに、指定されたコンテナーに html データ (ajax ページの応答) が配置された後、スケジューラーはレンダリングされませんでした (カレンダー スケジューラーは表示されません)。アイデア、ヘルプ、提案、推奨事項、ヘルプはありますか?

4

1 に答える 1

0

関連するコンテキストを ajax コールバックに設定thisします。コードでは jqXHR オプション オブジェクトです。ajax オプションcontextthis次のように設定します。

$.ajax({
    context: this,
    /*...*/
});
于 2015-08-12T09:40:19.220 に答える