使jQuery数据表保留搜索/排序时分配的行号

我有以下代码在jQuery Datatables中创建一个行号:

"fnRowCallback": function(nRow, aData, iDisplayIndex, iDisplayIndexFull){ var index = iDisplayIndexFull + 1; $('td:eq(0)', nRow).html(index); return nRow; }, 

但是,当我搜索某个值时,行号会更新。 这是预料之中的。 我的问题是,无论如何,在最初创建行号后仍然保持相同?

例:

  Initial output 1 Team1 2 Team2 3 Team3 4 Team4 5 Team5 After Searching 2 Team2 5 Team5 

这可能吗?

 "fnDrawCallback": function ( oSettings ) { /* Need to redo the counters if filtered or sorted */ if ( oSettings.bSorted || oSettings.bFiltered ) { for ( var i=0, iLen=oSettings.aiDisplay.length ; i 

您可以将原始ID存储在aData

 aData.index = iDisplayIndexFull + 1; 

然后,您可以稍后访问它:

 var index = oTable.fnGetData(your_row).index; 

我最初在行上设置了一个data属性:

 "fnRowCallback": function(nRow, aData, iDisplayIndex, iDisplayIndexFull){ var index = iDisplayIndexFull + 1; $('td:eq(0)', nRow).attr('data-index',$('td:eq(0)', nRow).attr('data-index')||index); $('td:eq(0)', nRow).html($('td:eq(0)', nRow).attr('data-index',index)); return nRow; },