我有下面的代码来创建jQuery的数据表行号:
"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<iLen ; i++ )
{
$('td:eq(0)', oSettings.aoData[ oSettings.aiDisplay[i] ].nTr ).html( i+1 );
}
}
}
你可以存储在原来的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;
},