Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript CSV导出始终仅导出一行_Javascript_Jquery_Datatables - Fatal编程技术网

Javascript CSV导出始终仅导出一行

Javascript CSV导出始终仅导出一行,javascript,jquery,datatables,Javascript,Jquery,Datatables,我有一个非常简单的datatables对象。我将它绑定到一个对象数组,指定数据字段,它就可以工作了。问题是当我尝试实现CSV导出时。它总是只想导出表的第一行。有什么想法吗 现在我的代码就在这里。可以肯定的是,我已经确保按钮和选择库都包含在内,但这并没有什么区别 <table id="tblData" style="display:none;"> <thead> <tr id="trDataTableHeader">

我有一个非常简单的datatables对象。我将它绑定到一个对象数组,指定数据字段,它就可以工作了。问题是当我尝试实现CSV导出时。它总是只想导出表的第一行。有什么想法吗

现在我的代码就在这里。可以肯定的是,我已经确保按钮和选择库都包含在内,但这并没有什么区别

<table id="tblData" style="display:none;">
    <thead>
        <tr id="trDataTableHeader">
            <th data-s-type="string">Name</th>
            <th data-s-type="string">Address</th>
            <th data-s-type="string">Phone</th>
            <th data-s-type="string">Website</th>
            <th data-s-type="string">Types</th>
        </tr>
    </thead>
</table>
...
table = $('#tblData').DataTable({
    dom: 'rtB',
    data: tableData,
    columns: [
        { "data": "name" },
        { "data": "address" },
        {
            "data": "phone_number",
            defaultContent: ""
        },
        {
            "data": "website",
            defaultContent: ""
        },
        { 
            "data": "types",
            defaultContent: ""
        },
    ],
    buttons: [{
        extend: "csv",
        text: "Export",
        exportOptions: {
            modifier: { search: "none", selected: false}
        }
    }],
    select: false,
    lengthChange: false,
    sort: false,
    paging: false
});

经过大量的挖掘,当我删除列数据类型规范时,我意外地发现了这一点。我收到一条错误消息,str.replace不是函数

结果表明,parseInt和parseFloat基函数被该页面上的另一个开发人员重写,并导致了一个问题,但DataTables太优雅了,无法告诉我


这就是为什么您不重写基本javascript函数的原因,除非您必须这样做。

您可以将整个代码与数据集以及包含的CSS和JS共享吗?因此,我们可以利用CSS与javascript功能无关的特性。此外,遵循最佳实践,您可以根据类而不是ID编写CSS,并且代码中没有类。该对象是一个简单的javascript对象var thing={name:,address:,phone_number:,website:,types:},只有代码中显示的5个属性。正如您在示例代码中看到的,每一列都是一个字符串。如果你想拥有所有的javascript,你必须去datatables wesite下载它。datatables的CSV按钮有一些要求。你可以从右边的便条上看到,这就是我问的原因。还有一些参数在DataTableJS版本的基础上进行了更改。这看起来像一团乱麻!谁知道插件在做什么??尝试将csv功能移出datatables并手动转换json数组。有一些很好的csv工具…CsvHelper就是其中之一。