TableTools未在DataTables表上加载

时间:2014-08-13 20:41:07

标签: javascript jquery datatables jquery-datatables 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"});  

1 个答案:

答案 0 :(得分:1)

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

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

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 - 声明被忽略。

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