我正在使用数据表 v1.10,它随着时间的推移有了很大的改进。但是我正在尝试添加索引号。
到目前为止,我已经设法添加了索引号,但我无法记录在搜索后保留它的原始索引号。
假设我有这张桌子:
POSITION NAME
0 Tennis
1 Football
2 Basketball
如果我要在篮球上搜索,我应该像这样得到 POSITION 2:
POSITION NAME
2 Basketball
但是,数据表没有给出位置 2,而是从 0 开始重新计数(或者在我的情况下为 1,因为我让它从 1 开始)
我希望索引号在搜索后保留其正确值。
我上次使用:
"fnDrawCallback": function ( oSettings ) {
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 );
}
}
},
我试图将其转换为他们的新 api,但我找不到正确的解决方法。
这是我正在使用的当前服务器端代码:
require('ssp.class.php');
$result=SSP::simple( $_GET, $sql_details, $table, $primaryKey, $columns );
$start=$_REQUEST['start'] + 1;
foreach($result['data'] as &$res){
$res["id"]=(string)$start;
$start++;
}
echo json_encode($result);
和客户端:
$(document).ready(function() {
var t = $('#table-data').DataTable( {
"processing": true,
"serverSide": true,
"ajax": {
"url": "index.php",
"type": "GET"
},
"columns": [
{"data": "position"},
{"data": "name"},
]
});
});
我的问题类似于:使 jQuery 数据表在搜索/排序时保持分配的行号
我尝试了那里建议的代码,但它似乎在 datatables v1.10 中不起作用(我更改了正确的 api 命名)