我在codeigniter中查看了我正在尝试使用datatables和TableTools扩展来增强它。我正在使用1.94版数据表。根据{{3}},需要表格工具2.1.5版。我已经包括了这个。我试图按照R shiny dataTables with TableTools and other extensions和上面的文章来使TableTools工作,但到目前为止还没有TableTools工具栏的迹象。我做错了什么?
这是我的代码:
<table id="myDataTable">
<thead>
<tr>
<th>ROW</th>
<?php foreach($keys as $key): ?>
<th><?php echo $key; ?></th>
<?php endforeach; ?>
</tr>
</thead>
<tbody>
<?php $i=1; foreach($fulltable as $row): ?>
<tr id="<?php echo $i ?>">
<td><?php echo $i; ?></td>
<?php foreach($row as $cell): ?>
<td><?php echo $cell; ?></td>
<?php endforeach; ?>
</tr>
<?php $i++; endforeach; ?>
</tbody>
</table>
<!--jQuery-->
<script type="text/javascript" charset="utf8" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.2.min.js"></script>
<!--DataTables CSS-->
<link rel="stylesheet" type="text/css" href="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/css/jquery.dataTables.css">
<!--DataTables-->
<script type="text/javascript" charset="utf8" src="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/jquery.dataTables.min.js"></script>
<!--DataTable tools-->
<script type="text/javascript" charset="utf8" src='//cdnjs.cloudflare.com/ajax/libs/datatables-tabletools/2.1.5/js/TableTools.min.js'></script>
<script type="text/javascript" charset="utf8" src='//cdnjs.cloudflare.com/ajax/libs/datatables-tabletools/2.1.5/js/ZeroClipboard.min.js'></script>
<link rel="stylesheet" type="text/css" href='//cdnjs.cloudflare.com/ajax/libs/datatables-tabletools/2.1.5/css/TableTools.min.css'>
<script language="javascript" type="text/javascript">
$(document).ready(function () {
$('#myDataTable').dataTable( {
"dom": 'T<"clear">lfrtip',
"tableTools": {
"sSwfPath": "//cdnjs.cloudflare.com/ajax/libs/datatables-tabletools/2.1.5/swf/copy_csv_xls.swf",
}
});
});
</script>
答案 0 :(得分:1)
TableTool插件是一个Flash插件,因此客户端/浏览器需要安装闪存。另外,检查您在&#34; tableTools&#34;中指定的路径。在初始化对象中。它错过了一个&#39; http:&#39;字首。它应该是:
&#34; sSwfPath&#34;:&#34; http://cdnjs.cloudflare.com/ajax/libs/datatables-tabletools/2.1.5/swf/copy_csv_xls.swf&#34;
编辑:(另见下面的评论)
只是为了更好地澄清 而不是:
ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/jquery.dataTables.min.js
使用
cdn.datatables.net/1.10.0/js/jquery.dataTables.min.js
而不是:
cdnjs.cloudflare.com/ajax/libs/datatables-tabletools/2.1.5/js/TableTools.min.js
使用
cdn.datatables.net/tabletools/2.2.1/js/dataTables.tableTools.min.js
而不是:
cdnjs.cloudflare.com/ajax/libs/datatables-tabletools/2.1.5/css/TableTools.min.css
使用
cdn.datatables.net/tabletools/2.2.1/css/dataTables.tableTools.css
所以javascript部分应该是:
<!--jQuery-->
<script type="text/javascript" charset="utf8" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.2.min.js"></script>
<!--DataTables CSS-->
<link rel="stylesheet" type="text/css" href="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/css/jquery.dataTables.css">
<!--DataTables-->
<script type="text/javascript" charset="utf8" src="http://cdn.datatables.net/1.10.0/js/jquery.dataTables.min.js"></script>
<!--DataTable tools-->
<script type="text/javascript" charset="utf8" src='http://cdn.datatables.net/tabletools/2.2.1/js/dataTables.tableTools.min.js'></script>
<script type="text/javascript" charset="utf8" src='http://cdnjs.cloudflare.com/ajax/libs/datatables-tabletools/2.1.5/js/ZeroClipboard.min.js'></script>
<link rel="stylesheet" type="text/css" href='http://cdn.datatables.net/tabletools/2.2.1/css/dataTables.tableTools.css'>
您可能还想检查要链接的ZeroClipboard。这也可能是错误的版本。