数据表工作正常,但是我尝试添加TableTools时遇到问题。用我正在使用的数据表可以按预期正常工作,没有任何问题,但是尝试向其中添加表工具没有成功。我执行的操作未报告任何控制台错误,但没有任何显示。这使我相信我在代码中做错了什么。我把下面的代码。
该脚本包括:
<script src="//cdn.datatables.net/1.9.4/js/jquery.dataTables.js"></script>
<script src="//cdn.datatables.net/tabletools/2.2.0/js/dataTables.tableTools.js"></script>
<script src="//tinymce.cachefly.net/4.0/tinymce.min.js"></script>
<link rel="stylesheet" href="//cdn.datatables.net/tabletools/2.2.0/css/dataTables.tableTools.css" type="text/css" media="all" />
我正在使用以下代码:
var foreTable = $(".cscf-fore-table").dataTable({dom: \'T<"clear">lfrtip\',
tableTools: {
"sSwfPath": "//cdn.datatables.net/tabletools/2.2.0/swf/copy_csv_xls.swf",
"aButtons": [
"copy",
"csv",
"xls",
"print"
]
},
"bSort": false,"aLengthMenu": [
[25, 50, 100, 200, -1],
[25, 50, 100, 200, "All"]
],
"iDisplayLength":-1, "bJQueryUI":true, "sPaginationType":"full_numbers"});
最佳答案
首先,您 fork 的小提琴不起作用,因为您在tabletools.js
和.css
之前导入了dataTables.js
/ .css
。
tableTools对您不起作用的主要原因是1.10.x驼峰命名约定和1.9.x匈牙利表示法之间的混合。您可能已经从示例中进行了某种升级/复制粘贴?你有 :
dataTable({
dom: 'T<"clear">lfrtip',
但是
dom
在1.10.x之前被命名为sDom
。在1.10.x中,您可以同时使用dom
和sDom
,但是dataTables 1.9.4仅知道sDom
。只需更改为dataTable({
sDom: 'T<"clear">lfrtip',
这就是为什么控制台中没有错误的原因。 TableTools从未初始化,您的整个
dom
-declaration被忽略。再次看到小提琴 fork ,现在可以正常工作-dataTables 1.9.4和tableTools 2.2.2-> http://jsfiddle.net/7ng9wfak/