DataTables TableTools 插件 - 如何在 Codeigniter 中配置 sSwfPath 路径?
Posted
技术标签:
【中文标题】DataTables TableTools 插件 - 如何在 Codeigniter 中配置 sSwfPath 路径?【英文标题】:DataTables TableTools plugin - How to configure sSwfPath path in Codeigniter? 【发布时间】:2013-03-28 14:45:00 【问题描述】:我的previous question 重新发布,因为我没有得到任何满意的答案
问题如下:
我在 JSBin http://live.datatables.net/aqowib/2 中提供了我的代码,我无法正确链接到 sSwfPath。我在我的应用程序中使用 codeiginter,所以我尝试按如下方式加载文件:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://<?php base_url(); ?>/assets/js/jquery.dataTables.js" type="text/javascript"></script>
<script src="http://<?php base_url(); ?>/js/jquery.dataTables.columnFilter.js" type="text/javascript"></script>
<script src="http://<?php base_url(); ?>/media/js/ZeroClipboard.js" type="text/javascript"></script>
<script src="http://<?php base_url(); ?>/media/js/TableTools.js" type="text/javascript"></script>
我的脚本标签包含以下代码:
$(document).ready(function()
var oTable = $('#datatables').dataTable(
"sPaginationType":"full_numbers",
"sDom": 'Tlfrtip',
"oTableTools":
"sSwfPath": "<?php base_url();?>/media/swf/copy_cvs_xls_pdf.swf"
,
"sScrollX": "100%",
"bScrollCollapse": true,
"bAutoWidth": true,
"aaSorting":[[0, "asc"]],
"bJQueryUI":true
).columnFilter(
aoColumns: [ null,
null,
type: "select", values: [ 'male', 'female'] ,
null,
null,
null,
null,
type: "select", values: [ '1', '2', '3', '4', '5', '6', '7','8','9','10'] ,
type: "select", values: [ 'A', 'B', 'C'] ,
null,
type: "select", values: ['P', 'A'] ,
null,
null,
null
]
);
);
每次我收到 404 错误,提示无法加载 SWF 文件 - 请检查 SWF 路径
请帮助我我哪里错了? 提前致谢。
【问题讨论】:
【参考方案1】:啊,解决了!!
您只需要在 TableTools.js 文件中配置 sSwfPath URL,即
更改 TableTools 初始化的默认设置
我去:
TableTools.DEFAULTS =
"sSwfPath": "http://localhost/codegen/media/swf/copy_cvs_xls_pdf.swf", <----------------- HERE IS WHERE I GOT STUCK
"sRowSelect": "none",
"fnPreRowSelect": null,
"fnRowSelected": null,
"fnRowDeselected": null,
"aButtons": [ "copy", "csv", "xls", "pdf", "print" ]
;
谢谢:-)
【讨论】:
这是否意味着您的<?php base_url();?>
返回了错误的值?
亲爱的 NealCaffrey,我们如何在 laravel 4.2 页面中使用 sSwfPath?请给建议
虽然这可能解决了您的问题,但这并不是导致问题的原因。你忘了使用回声,所以 berbt 是对的。 <?php base_url();?>
部分不返回值。请参阅 Vishav B Kaith 的答案。
附加:只有在您的 PHP 文件中有 javascript 代码时,它才会起作用。如果没有,您必须通过将其分配给全局 Javascript 变量来使其可用于您的 javascript 文件,如下所示:echo '<script type="text/javascript"> window.baseUrl = ' . base_url();
现在您可以使用 javascript 文件中的 window.baseUrl 访问它。【参考方案2】:
无需写完整路径 只需在 base_url 之前放置 echo :) 改变
<?php base_url();?>
到
<?php echo base_url();?>
【讨论】:
这确实提供了问题的答案。作者问他错在哪里,这就是他错的地方。这几乎可以肯定地解决了他的问题以上是关于DataTables TableTools 插件 - 如何在 Codeigniter 中配置 sSwfPath 路径?的主要内容,如果未能解决你的问题,请参考以下文章
r 这显示了如何将DataTables插件(在本例中为TableTools)添加到您的Shiny应用程序中。
jQuery:如何以编程方式隐藏 TableTools 按钮
DataTables/TableTools - 单击一行时是不是可以获得所选行的准确列表?
DataTables JS / TableTools JS - 导出和打印