【发布时间】:2013-05-05 09:11:13
【问题描述】:
我知道JQuery DataTables: How to show/hide row details with multiple tables? 这里有一个类似的问题,但这并不完全适用于我当前的问题。
我有代码:
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 类添加到第二个表中只有一个,那么它们可以作为数据表工作,但显示/隐藏按钮在两个表中都失败。两个表具有相同的字段和内容计数,只是为了使其工作,但仍然没有成功。
在类似的帖子中,该人建议添加:
tbl = $(this).parent().parent().dataTable();
到点击功能,但我已经尝试过,它没有工作。
我错过了什么?
【问题讨论】:
-
您的表的 ID 是什么?确保 ID 是唯一的。看起来您正在使用类选择器制作表格 dataTables。如果 ID 不是唯一的,则会导致问题。
-
dataTables 不需要 ID 作为选择器
-
我没有说它需要一个 ID 作为选择器。但是如果 ID 不是唯一的,就会遇到问题。在这里查看我的答案:stackoverflow.com/questions/16463646
-
我正在调用所有具有 dataTable 类的表,因此这些表没有 ID。我的问题是 oTables var 带有 2 个表,我需要找到一种方法来选择当前表。
标签: javascript jquery datatables