JQuery数据表使用fnClose()关闭每个打开的行

我正在尝试制作一个关闭onClick的按钮,点击我的Datatable中所有已打开的tr

我用以下命令打开行:

oTable.fnOpen(nTr, fnFormatDetails(oTable, nTr), 'newtr'); 

是否有可能关闭我的Datatable中所有打开的tr行?

我认为你试图完成同样的事情,当我打开第二行时,我希望前一行关闭。

这意味着我一次只能显示一行详细信息。

 $(document).ready(function () { var previousTr; oTable = $('#bookingstable').dataTable ({ "aoColumnDefs": [ { "bVisible": false, "aTargets": [2, 6, 7, 8, 9, 12, 13, 14, 15] } ] }); $('#bookingstable tbody td').live('click', function () { var selectedTr = $(this).parents('tr')[0]; if (oTable.fnIsOpen(previousTr) && previousTr != selectedTr)) { oTable.fnClose(previousTr); } if (oTable.fnIsOpen(selectedTr)) { oTable.fnClose(selectedTr); } else { oTable.fnOpen(selectedTr, fnDetailsRow(selectedTr), 'details-row'); previousTr = selectedTr; } }); }); function fnDetailsRow(selectedTr) { var TrData = oTable.fnGetData(selectedTr); var detailsRow = ''; detailsRow += ''; detailsRow += ''; detailsRow += ''; detailsRow += ''; return detailsRow; }

Passenger Name' + TrData[3] + 'Pickup Details' + TrData[14] + 'Customer Notes' + TrData[9] + '
Phone Number' + TrData[2] + '
Car Type' + TrData[6] + 'Dropoff Details' + TrData[15] + 'Office Notes' + TrData[12] + '
Pax and Bags' + TrData[7] + ' Paxs & ' + TrData[8] + ' Bags' + '

注意我在文档就绪时声明了一个var previousTr并在打开任何第二行之前检查它。 记住,当你打开一个新行时,再次设置它。

初始化数据表后,可以在所有tr上绑定click事件并使用以下命令关闭所选行:

 oTable.$('tr').click(function(){ if ( oTable.fnIsOpen(this) ) { oTable.fnClose( this ); } }); 

有关datatable API的更多文档,请参见此处 。