gpt4 book ai didi

javascript - DataTables TableTools 不适用于两个表

转载 作者:搜寻专家 更新时间:2023-10-31 08:28:40 25 4
gpt4 key购买 nike

我在同一页面中使用 TableToolsDataTables v1.10

我的主页有表格和模态的空 div。

<div id="resultDiv">
<table id="mainTable"> ... </table>
<div id="detailModal">
<div id="detailModal-content"></div>
</div>
</div>

<script>
$(document).ready(function () {
var mainTable = $('#mainTable').DataTable({
"dom": 'T<"clear">lrtip',
"tableTools": { ... },
"columns": [
{
"data": null,
"render": function(data, type, row, meta) {
return '<a href="" onClick="return loadDetail(' + data.id + ')">Details</a>';
}
},
....
],
........
});
});

function loadDetail(id) {
$.ajax({
async: false,
url: ...,
success: function(respose) {
var tableInstance = TableTools.fnGetInstance('detailTable');
console.log(tableInstance); //null
}
});
}
</script>

单独的详细信息页面有另一个表格,该表格在 detailModal-content div 中呈现。

<table id="detailTable">

</table>

<script>
$(document).ready(function () {
var mainDetailTable = $jq11('#detailTable').DataTable({
"dom": 'T<"clear">ltipr',
"tableTools": { ... },
..............
});
});
</script>

mainTable 的第一个 TableTools 工作正常,但对于第二个表它不工作(我可以单击按钮但单击它不会创建 xls 文件)。我试图通过在按照建议 here 创建表后调用 fnResizeButtons() 来解决这个问题.但是 tableInstance 为空。

有什么建议吗?

最佳答案

据我所知,您遇到了 TableTools(不是 DataTable)无法处理处于模态的表格的问题?

我自己也遇到过类似的问题,这归因于表格在不可见时被初始化,并且与 Flash 有关,它可以修复,这就是我用来修复不同引导选项卡上的表格的类似问题除了最初可见的表格外,没有功能性的 TableTools:

$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
var target_id = $(e.target).attr("href");
var jqTable = $(target_id).find("table");
var oTableTools = TableTools.fnGetInstance( jqTable[0] );
if (oTableTools != null && oTableTools.fnResizeRequired()){
/* A resize of TableTools' buttons and DataTables' columns is only required on the
* first visible draw of the table
*/
jqTable.dataTable().fnAdjustColumnSizing();
oTableTools.fnResizeButtons();
}
});

当然,您必须在 shown.bs.modal 或任何其他显示您的模式的事件上获取表格实例,但这应该可以解决 TableTools 问题。

希望对您有所帮助。

关于javascript - DataTables TableTools 不适用于两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30131326/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com