我在尝试访问特定HTML元素的数据表对象时遇到问题。
我查看了JQuery Data Table的文档,并使用了这个示例: https://datatables.net/reference/option/retrieve
然而,这不起作用。这是我的全局文件main.js
中的代码:
function initTable () {
return $(".dynamic-table").DataTable({
"aaSorting": [],
"scrollY": 530,
"scrollCollapse": true,
"lengthMenu": [
[100, 400, 1000, 5000, -1],
[100, 400, 1000, 5000, "All"]
],
"retrieve": true
});
}
$(document).ready(function() {
initTable();
});
现在在我的另一个文件中,我尝试检索对象:
$(document).ready(function() {
var table = initTable();
});
这不会检索对象,而是再次初始化对象并使表格呈现两次。
我也尝试过:
$(document).ready(function() {
var table = $(".dynamic-wide-table").DataTable();
});
因为我读过一些线程说空白初始化只会检索对象。
这些解决方案都不起作用。如果有人知道我做错了什么我会非常感激!感谢。
答案 0 :(得分:2)
$(".dynamic-wide-table").DataTable();
如上所述引用是获取Data Tables API引用的正确方法。
您可以在数据表示例https://datatables.net/examples/ajax/objects.html中对此进行测试,然后在控制台中输入以下JS。您将看到它不会重绘表格或创建第二个表格。
$('#example').DataTable()
另请参阅明确说明此方法的API文档https://datatables.net/reference/api/。
答案 1 :(得分:0)
您可以使用extend ..
$.extend( true, $.fn.dataTable.defaults, {
"bFilter": true,
} );
答案 2 :(得分:0)
当你有一个选择器时获取实例(例如“#table_id”或“.display-tables”):
var instance = new $.fn.dataTable.Api( 'selector' );