2016-07-20 2 views
0

Я пытаюсь получить объект таблицы данных jQuery с помощью JQuery. Я использую эту тему для достижения этой цели:Извлечь dataTable объект элемента

https://datatables.net/forums/discussion/2913/how-to-get-the-otable-datatable-object-from-the-tables-id

По какой-то причине это не работает. Когда я называю $('.dynamic-wide-table').dataTable(); это вызывает мой стол, чтобы инициализировать СНОВА и сделать таблицу дважды визуализации, например, так:

enter image description here

По ссылке размещенной над ним не должны делать это, но вместо того, чтобы просто принести объект.

Вот мой код:

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

Объект datatables. – Nic

ответ

-1

После комментариев:

Вы не сможете получить e single tables, потому что каждый элемент с этим классом будет иметь свой собственный объект 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()); 
    }); 
}); 

Идеальная вещь, чтобы сделать было бы дать каждой отдельной таблице идентификатор, а затем получить dataTable объект с идентификатором:

$('#tableId').dataTable(); 
+0

Я не могу установить переменную в 'main.js', потому что у меня несколько таблиц на нескольких страницах. Другими словами, одна переменная не может ссылаться на несколько таблиц на странице. Поэтому мне нужно получить объект на каждой странице, когда это необходимо. – Nic

+0

Таким образом, вы создаете экземпляр его в одну переменную для таблицы. Затем каждая переменная будет содержать объект, который вы вызываете для выполнения действий в этой таблице. –

+0

Каждая страница имеет различное количество таблиц, и я не могу программно узнать, сколько на данной странице. – Nic

-2

Ммм я не думаю, что вам нужно установить как ..?

Если вы удалите код объекта get, он должен прекратить стрельбу дважды.

Вы уже делаете это в main.js, но загружаете варианты одновременно.

+0

Ужасный ответ. Не решает, чего я хочу. – Nic

+0

Извините, что я получил его - «он заставляет мою таблицу инициализировать AGAIN и сделать таблицу рендеринга дважды» | виноват. – Mazaz

Смежные вопросы