我要执行这两个函数,但我希望只有当第一个请求的内容已经加载到DOM元素中时才执行第二个函数。
加载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回调的第二个函数,但是有点混乱......我可以得到一些帮助吗?
由于
答案 0 :(得分: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中,加载完成后,将调用完整的回调函数并显示带有数据的选项卡。
非常感谢!