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