3

数据表工作正常,但是我正在尝试添加 TableTools 并且遇到了问题。使用我正在使用的数据表可以正常工作,完全没有问题,但是尝试将 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"});  
4

1 回答 1

1

首先,您分叉的小提琴不起作用,因为您导入tabletools.js/.css 之前 dataTables.js.css.

tableTools 不适合您的主要原因是 1.10.x 驼峰命名约定和 1.9.x 匈牙利符号之间的混合。您可能已经从示例中进行了某种升级/复制粘贴?你有 :

dataTable({
   dom: 'T<"clear">lfrtip',

但在 1.10.x 之前dom被命名。sDom在 1.10.x 中,您可以同时使用domand sDom,但 dataTables 1.9.4 只知道sDom。只需更改为

dataTable({
   sDom: 'T<"clear">lfrtip',

这就是控制台中没有错误的原因。TableTools 从未初始化,您的整个dom-declaration 都被忽略了。

再次看到分叉的小提琴,现在正在工作 - dataTables 1.9.4 和 tableTools 2.2.2 -> http://jsfiddle.net/7ng9wfak/

于 2014-08-14T15:53:11.423 回答