【问题标题】:jQuery TableTools buttons not loadingjQuery TableTools 按钮未加载
【发布时间】:2012-09-24 15:59:16
【问题描述】:

我正在尝试将tableTools 添加到已使用DataTable 插件的现有表中。tableTools 按钮不会加载。这是我的代码:

var dataTableOptions = {
  "sScrollY":   "475px",
  "bAutoWidth": true,
  "bSort":      true,
  "bPaginate":  true,
  "sPaginationType": "full_numbers",
  "bFilter":    true,
  "bInfo":      true,
  "bJQueryUI":  true,
  "sDom": '<"clear">lfrtip',
  "oTableTools": {"sSwfPath": appPath + "/swf/copy_csv_xls_pdf.swf"}
};

$j("#movementsResults table").dataTable(dataTableOptions);

dataTable 部分工作正常,但 tableTools 似乎没有工作。我确保所有文件路径都是正确的,包括.swf 路径,但我找不到问题。

【问题讨论】:

  • 您的 sDom 不应该为工具使用大写“T”吗?
  • @MikeRobinson 我不确定,但我只是尝试了一下,它使 DataTables 完全停止工作(我得到了一个基本的 html 表)
  • 控制台停止工作时是否出现任何错误?
  • @MikeRobinson SCRIPT5009: 'ZeroClipboard_TableTools' is undefined TableTools.js, line 1293 character 3 那行代码是var flash = new ZeroClipboard_TableTools.Client();
  • @MikeRobinson 谷歌搜索后,我意识到我需要包含 ZeroClipboard.js,现在按钮出现了。将处理它们的样式和功能(因为它们目前实际上并不工作)并报告回来。

标签: jquery datatables tabletools


【解决方案1】:

运行开发者工具后出现错误:

SCRIPT5009:“ZeroClipboard_TableTools”未定义 TableTools.js,第 1293 行字符 3

在谷歌搜索以查明 ZeroClipboard 到底是什么之后,我发现我需要单独包含该 JS 文件,因为它试图调用在其中创建的函数。这样做之后,按钮开始起作用,现在只需设置它们的样式即可。

感谢大家的帮助

【讨论】:

    【解决方案2】:

    尝试:

    "sDom": 'Tlfrtip'
    

    另外,您是否验证了 appPath 变量是正确的?也许将此添加到您的代码中并检查控制台以确认您没有额外的斜杠或其他东西:

    console.log(appPath + "/swf/copy_csv_xls_pdf.swf");
    

    【讨论】:

    • 问题是 ZeroClipboard.js,但 sDom 的样式确实更好
    【解决方案3】:

    需要在 sDom 中用 T 初始化它: "sDom": 'lfrtipT',

    【讨论】:

      【解决方案4】:

      您必须使用来自 DataTables/DataTools 项目的ZeroClipboard.js,而不是来自 ZeroClipboard 项目的那个。它们非常不同。

      【讨论】:

        猜你喜欢
        • 2014-10-07
        • 2017-01-12
        • 2013-06-12
        • 1970-01-01
        • 2015-02-02
        • 1970-01-01
        • 2014-08-07
        • 2014-12-05
        • 1970-01-01
        相关资源
        最近更新 更多