jquery ajax选项卡和表格工具

jquery ajax选项卡和表格工具,jquery,jquery-ui,datatables,jquery-tabs,tabletools,Jquery,Jquery Ui,Datatables,Jquery Tabs,Tabletools,我将jquery 1.7.2和TableTools 2.2.1与DataTables 1.9.4一起使用 我对jquery选项卡和tabletools一起使用有一个问题。我的一些选项卡是通过ajax调用加载的,一些选项卡内容位于初始化了选项卡的页面上 但是当我点击Tabletool按钮时,我无法保存为CSV/PDF 它在加载ajax的第一个选项卡上运行良好,但在页面的其他选项卡上的选项卡内容上不起作用 我使用了下面的代码来调整按钮的大小,但没有结果,只有在没有ajax加载选项卡的情况下才有效 $

我将jquery 1.7.2和TableTools 2.2.1与DataTables 1.9.4一起使用

我对jquery选项卡和tabletools一起使用有一个问题。我的一些选项卡是通过ajax调用加载的,一些选项卡内容位于初始化了选项卡的页面上

但是当我点击Tabletool按钮时,我无法保存为CSV/PDF

它在加载ajax的第一个选项卡上运行良好,但在页面的其他选项卡上的选项卡内容上不起作用

我使用了下面的代码来调整按钮的大小,但没有结果,只有在没有ajax加载选项卡的情况下才有效

$("#tabs").tabs({ 
    show: function(ui, event) { 
        var ttInstances = TableTools.fnGetMasters(); 
        for (i in ttInstances) { 
            alert(i); 
            if (ttInstances[i].fnResizeRequired())
                ttInstances[i].fnResizeButtons(); 
        }
    } 
});
此外,我还注意到,在加载页面时,alerti确实会出现,但在单击particualr选项卡时,当我显式调用它时,alerti不会出现,我在该选项卡上有datatables,代码片段如下:

$("#tabs").tabs({ 
    select: function(event,ui) { 
        alert("tab no :"+ui.panel.id); 
        switch (ui.panel.id) { 
            case "tab_started": 
                alert("hi here"); 
                var ttInstances = TableTools.fnGetMasters(); 
                for (i in ttInstances) { 
                    alert(i); 
                    if (ttInstances[i].fnResizeRequired())
                        ttInstances[i].fnResizeButtons(); 
                }
        } 
});
非常感谢您的帮助。请给出解决这个问题的建议。
我查看了以前的帖子,但没有找到使用Javascript进行初始化的确切解决方案。您需要在调用AJAX的同一页面上调用初始化。您希望这样做的原因是加载DOM,然后对其应用任何Javascript

主页

AJAX页面

<div class='container'></div>
$.post(link, function (html) {
    $('.container').html(html)
})
<table class='datatable'>data</table>
/*Init datatable on ajax page.*/
$('.datatable').Datatable();