如何在DataTables中重新加载/刷新JavaScript数组 [英] How do I reload/refresh javascript array in DataTables
问题描述
我正在使用DataTables显示来自搜索功能的数据.我确定这是否是用于将数据传递到DataTables的预期方法.我正在用空白的javascript数组初始化DataTable.然后,我想用其他函数填充数据表.
I'm using DataTables to display data from a search function. I'm sure if this was intended method for passing data into DataTables. I'm initializing the DataTable with a blank javascript array. Then I want to populate Datatables in a different function.
我已经尝试过$().DataTable().ajax.reload()和$().DataTable().fnAddData(dataSet),但都没有用.
I've tried $().DataTable().ajax.reload() and $().DataTable().fnAddData(dataSet) but both didn't work.
https://jsfiddle.net/owxz7e22/3/
<table id="test" class="table table-striped table-bordered table-hover dt-responsive">
</table>
<a href="#" onclick="LoadData();">Test</a>
$(document).ready(function ()
{
$('#test').DataTable({
data: dataSet,
columns: [
{ title: "Name" },
{ title: "Position" },
{ title: "Office" },
{ title: "Extn." },
{ title: "Start date" },
{ title: "Salary" }
]
});
});
var dataSet = [];
function LoadData()
{
dataSet = [
["Tiger Nixon", "System Architect", "Edinburgh", "5421", "2011/04/25", "$320,800"],
["Garrett Winters", "Accountant", "Tokyo", "8422", "2011/07/25", "$170,750"],
["Ashton Cox", "Junior Technical Author", "San Francisco", "1562", "2009/01/12", "$86,000"],
];
var tbl = $('#test').DataTable();
tbl.fnClearTable();
tbl.fnDraw();
tbl.fnAddData(dataSet);
//$('#test').DataTable().ajax.reload();
}
推荐答案
您必须将数据表存储在变量中并添加行:看这里: https://jsfiddle.net/63235xk2/
You have to store your datatable in a variable and adding rows: Look here: https://jsfiddle.net/63235xk2/
$(document).ready(function ()
{
var dataSet = [];
var datatable = $('#test').DataTable({
data: dataSet,
columns: [
{ title: "Name" },
{ title: "Position" },
{ title: "Office" },
{ title: "Extn." },
{ title: "Start date" },
{ title: "Salary" }
]
});
$('.asd').on('click',function(){
dataSet = [
["Tiger Nixon", "System Architect", "Edinburgh", "5421", "2011/04/25", "$320,800"],
["Garrett Winters", "Accountant", "Tokyo", "8422", "2011/07/25", "$170,750"],
["Ashton Cox", "Junior Technical Author", "San Francisco", "1562", "2009/01/12", "$86,000"],
];
alert(dataSet.length);
datatable.clear();
datatable.rows.add(dataSet);
datatable.draw();
});
});
这篇关于如何在DataTables中重新加载/刷新JavaScript数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!