0

この2つの関数を実行しますが、最初のリクエストのコンテンツがすでにDOM要素にロードされている場合にのみ2番目の関数を実行したいと思います。

ajaxコンテンツをロードする一般的な関数:

function ajaxDialog(AjaxUrl, type, targedDom, dialogedDom, tabs) {

$.ajax({
    url: AjaxUrl,
    type: type,
    DataType: "html",
    success: function (data) {
        //puts data inside targedDom Dom elemen
        $('#' + targedDom).html(data);
        //create tabs
        loadDialogSettings(dialogedDom, tabs);
    }
});

}

この最初の関数は、タブ構造を作成します。

ajaxDialog('/Admin/AdminSettingsTabsStructure', 'POST', renewedDom, targetDom, true);

これにはコンテンツタブ番号2が表示されます

loadRolesAndAcessRules('/Admin/AdminRolesAndAccessRules', 'GET', 'tabs-2');

AjaxリクエストからのonCompleteコールバックで2番目の関数を実行することを考えていましたが、少し混乱しています...助けを得ることができますか?

ありがとう

4

1 に答える 1

1

解決:

function ajaxCallReturning(AjaxUrl, type, targetDom, tabIndex) {

$.ajax({
    url: AjaxUrl,
    type: type,
    DataType: "html",
    success: function (data) {
        $('#' + targetDom).html(data);
    },
    complete: function () {
        if (tabIndex == "1") {
            $("#tabs .ui-tabs-active").removeClass("ui-state-active");
            $('#tabs').tabs({ selected: tabIndex })
        } else {                
        }
    }
});

}

ご覧のとおり、すべてのデータは成功コールバック内の DOM にロードされ、ロードが完了すると、完全なコールバック関数が呼び出され、データを含むタブが表示されます。

どうもありがとう!

于 2012-11-22T01:56:16.163 に答える