我目前正在显示返回玩家排名并突出显示当前玩家行的表格。我想要实现的是让我们说5行显示并将当前玩家置于中心位置。
如果当前玩家排名为100,我想显示玩家排名98到102.目前它将显示排名1到5。
我找不到想要以我的结果为中心的#34;目前的球员排名。
我的当前表格显示为以下代码:
$.ajax({
url: "myController/getDataTable",
method: 'post',
dataType: 'json',
success: function (values) {
var table = $('#myTableLeaderboard').DataTable({
paging: true,
pageLength: 5,
sort: true,
searching: true,
data: values['data'],
ordering: true,
aoColumns: [
{ "data": "ranking" },
{ "data": "cash" },
{ "data": "staff_count" }
// more columns...
],
"createdRow": function ( row, data, index ) {
$currentUserId = $('#currentUserId').attr('value');
if ( data.id_player == $currentUserId ) {
$('td', row).addClass('bold');
}
}
});
$('#myTableLeaderboard_filter').switchClass( 'dataTables_filter', 'dataTables_filter_show' );
}
});
我的服务器端PHP函数返回两个数组,一个包含表的数据,另一个变量包含当前的玩家等级:
{"data":
[{"cash":"606, "id_player":"61","staff_count":null,"ranking":1},
{"cash":"30","id_player":"63","staff_count":null,"ranking":2},
...more players....],
"current_id_player":"67",
"current_player_ranking":3
}
我查看了Custom filtering - range search页面,但我不确定我应该查看什么以及如何处理它。
最后,启用了分页功能,因此如果播放器导航到另一个页面,结果将无法“居中”#34;在他身上了。
答案 0 :(得分:0)
我找到了添加的解决方案:
displayStart: values.current_player_ranking-2,
使用jumpToData插件
完成$('#myTableLeaderboard thead').on('click', 'th', function () {
table.page.jumpToData( $currentUserId, 9 );
} );
table.page.jumpToData( $currentUserId, 9 );