我试图浏览互联网,但是没有遇到类似的问题。
我有一个页面,该页面使用羊驼毛来创建一个表单,该表单具有一些随机的羊驼毛字段以及用户可以填写的表格。
该页面还包括另一个直接由DataTable创建的表,该表显示了用户以前填写的答案。这些内容由制表符系统分开,因此不会同时显示两者。
问题出在DataTables搜索功能上。如果您已经用羊驼毛初始化了一个表(也使用了后台的数据表),则搜索方法将停止正常运行,从而始终导致结果为0。销毁羊驼表也不会有任何影响。
这里,我有四个简单的函数来初始化表并销毁它们。初始化,销毁和重新初始化数据表对其搜索功能没有任何影响,但是一旦创建了羊驼表,搜索功能就会停止:
let initAlpaca = function () {
$('#table-alpaca').alpaca(alpacaJson);
};
let destroyAlpaca = function () {
$('#table-alpaca').alpaca("destroy");
};
let initDataTables = function () {
if (dataTable == null){
// datatable.destroy(true) destroys table element.
$("#div2").append('<table id="table-data" class="table table-bordered table-hover table-striped">');
dataTable = $('#table-data').DataTable({
bPaginate: false,
searchable: true,
search: {
smart: false
},
columns: [
{name:"Fname", title:"Fname"},
{name:"Lname", title:"Lname"},
{name:"Age", title:"Age"},
{name:"Check", title:"Check"},
],
data: [
["John", "Smith", "44", "2000"],
["Mary", "Doe", "54", "2400"],
["Markus", "Example", "30", "3000"]
]
});
}
};
let destroyDataTables = function () {
if (dataTable != null){
dataTable.destroy(true);
dataTable = null;
}
};
这是一个可以证明问题的JSFiddle:JSFiddle
这只能是羊驼(“ destroy”)方法下的问题吗? 如何正确删除可能的羊驼数据表实例,以使其他数据表的搜索功能正常工作?
不同于JSFiddle,不需要同时显示这些表。