数据表工作正常,但是我尝试添加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中,您可以同时使用domsDom,但是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/

09-26 13:06