我正在尝试使用JQuery获取jQuery数据表的对象。我正在使用这个线程来实现这个目标:
出于某种原因,这不起作用。当我调用$('.dynamic-wide-table').dataTable();
时,它会导致我的表初始化AGAIN并使表格渲染两次,如下所示:
根据上面发布的链接,它不应该这样做,而只是获取对象。
这是我的代码:
main.js
(加载到每页的HTML头部)
$(document).ready(function() {
$(".dynamic-wide-table").dataTable({
"aaSorting": [],
"scrollX": true,
"scrollY": 530,
"scrollCollapse": true,
"lengthMenu": [
[100, 400, 1000, 5000, -1],
[100, 400, 1000, 5000, "All"]
],
"retrieve": true
});
});
获取对象:
$(document).ready(function() {
$('.dynamic-wide-table').dataTable();
});
答案 0 :(得分:0)
发表评论后:
您将无法获取单个表对象,因为具有该类的每个元素都将拥有它自己的dataTable
对象。
您可以遍历各个类并检索每个类。为了获得单个元素dataTable
对象,您需要知道您需要该对象的表元素:
$(document).ready(function() {
$('.dynamic-wide-table').each(function(i){
console.log('table no. ' + i );
// Should print the dataTable object for each element to the console
console.log($(this).dataTable());
});
});
理想的做法是为每个表提供一个id,然后检索带有id的dataTable
对象:
$('#tableId').dataTable();
答案 1 :(得分:-1)
如果删除get对象代码,它应该停止触发两次。
您已在main.js
中执行此操作,但同时加载选项。