我正在使用Tabulator插件将数据加载到html中。为此,我在javascript中使用了以下代码:
var j = $( "#example-table" ).hasClass( "tabulator" )
console.log(res["data"]);
if (j) {
$("#example-table").tabulator("destroy");
}
$("#example-table").tabulator({
layout:"fitColumns"});
//set new columns
$("#example-table").tabulator("setColumns", res["column"]);
//set new data
$("#example-table").tabulator("setData", res["data"]);
$("#download-xlsx").click(function(){
$("#example-table").tabulator("download", "xlsx", "data.xlsx");
});
$("#download-csv").click(function(){
$("#example-table").tabulator("download", "csv", "data.csv");
});
//trigger download of data.json file
$("#download-json").click(function(){
$("#example-table").tabulator("download", "json", "data.json");
});
我正在html中使用以下代码:
<div>
<button class ="table-button" id ="download-xlsx">Download XLSX</button>
<button class ="table-button" id ="download-csv">Download CSV</button>
<button class ="table-button" id ="download-pdf">Download PDF</button>
<button class ="table-button" id ="download-json">Download JSON</button>
</div>
<div id="example-table" style="margin-bottom: 100px; margin-top: 30px;" ></div>
</div>
每次在ajax调用上,此代码都可以正常工作。我正在使用res [“ data”]来获取数据,并将其放入制表符设置数据函数中,并且可以完美地加载我的数据。但是,当我第一次单击excel时,加载数据时我正在下载文件,但是当我点击并重新加载新数据时,它会下载三个文件或四个文件。我的问题是当我单击新数据时如何重置文件和下载队列。
答案 0 :(得分:0)
Tabulator中没有下载队列,如果您单击按钮,它将下载表内容。
如果您进行多次下载,这表明您多次重新绑定了click事件,因此在单击按钮时多次调用该函数。