jquery datatables - 通过href触发导出功能

时间:2014-06-17 10:47:36

标签: javascript jquery datatables jquery-datatables

有人可以解释如何通过单击href链接来触发导出功能(copy,csv,...)。这可能吗?下面的代码创建了按钮,但是如何将动作分配给我的li元素?

示例代码:

HTML:

 <ul class="menulist">
<li><a href="#">Copy</a></li>
 <li><a href="#">Text File (*.txt)</a></li>
<li><a href="#">Excel File (*.xlsx)</a></li>
</ul>

使用Javascript:

$(document).ready(function() {

    var table = $('#example').DataTable(
      {"pagingType": "full_numbers",
         "bStateSave": true,
            "sDom": "<'row'<'col-xs-6 col-left'l><'col-xs-6 col-right'<'export-data'T>f>r>t<'row'<'col-xs-6 col-left'i><'col-xs-6 col-right'p>>",
dom: 'T<"clear">lfrtip',
                        "oTableTools": {
              "sSwfPath" :"???",
            "aButtons": [
            {'sExtends': "copy", "mColumns": "visible",  "bFooter": false,  "bSelectedOnly": true},
            {'sExtends':'csv',"sFileName": "test.csv"},
            {'sExtends':'xls',"sFileName": "test.xls",}
            ]       
        },

      }
    );
});

这是Link我测试的。

更新 只是要指出:我已经在使用dataTools,它可以与创建的标准按钮一起工作,但我需要对其进行自定义,以便我可以在其他元素/对象中使用它。

谢谢。

1 个答案:

答案 0 :(得分:0)

您缺少sSwfPath路径:

"sSwfPath" :"???",

将其替换为您的swf文件的url。 Becouse导出是由flash完成的。

来自tabletools doc的示例:

$(document).ready( function () {
    $('#example').dataTable( {
        "dom": 'T<"clear">lfrtip',
        "tableTools": {
            "sSwfPath": "/swf/copy_csv_xls_pdf.swf"
        }
    } );
} );