Я знаю, что здесь есть аналогичный вопрос JQuery DataTables: How to show/hide row details with multiple tables?, но это не относится к моей текущей проблеме полностью.JQuery DataTables: Показать/скрыть сведения о строках с несколькими таблицами
У меня есть код:
var oTable = $('.dataTable').dataTable({
"aoColumnDefs": [
{ "bSortable": false, "aTargets": [ 0,3,4 ] },
{ "bVisible": false, "aTargets": [ 4 ] }
],
"aoColumns": [
null,
null,
null,
null,
{ "sType": "html" }
],
"aaSorting": [[1, 'asc']],
"bFilter": false,
"bPaginate": false,
"fnInitComplete": function(oSettings) {
/* Add event listener for opening and closing details
* Note that the indicator for showing which row is open is not controlled by DataTables,
* rather it is done here
*/
$('.dataTable tbody td img').live('click', function() {
var nTr = this.parentNode.parentNode;
if (oTable.fnIsOpen(nTr)) {
// This row is already open - close it
this.src = "css/images/details_open.png";
oTable.fnClose(nTr);
} else {
// Open this row
this.src = "css/images/details_close.png";
oTable.fnOpen(nTr, fnFormatDetails(oTable, nTr), 'details');
}
});
}
});
Это работает, если есть только один, если я добавить DataTable класса второй таблицы, то они работают как DataTables но кнопка показать/скрыть неудачу в обеих таблицах. Обе таблицы имеют одинаковое количество полей и контента, только для того, чтобы заставить его работать, но все равно не имеют успеха.
На аналогичной должности, человек предлагает добавить:
tbl = $(this).parent().parent().dataTable();
к функции мыши, но я попробовал это, и это не сработало.
Что мне не хватает?
Каковы идентификаторы ваших таблиц? Убедитесь, что идентификаторы уникальны. Похоже, вы делаете таблицы dataTables с помощью селектора классов. Если идентификаторы не уникальны, это вызовет проблемы. –
dataTables не требует идентификаторов в качестве селектора – Fabi
Я не сказал, что для этого требуется идентификатор в качестве селектора. Но если идентификаторы не уникальны, у вас возникнут проблемы. См. Мой ответ здесь: http://stackoverflow.com/questions/16463646/ –