我想在点击数据表的最后一页时显示一个隐藏的行。我该怎么做?我找不到获取当前页码和Jquery Datatable分页的最后页码的方法。
这就是我想要做的,但我不知道如何获取当前页面和最后一页。
$( "#paginate_button" ).click(function() {
if(.......){ //if clicked page number= last page
$( "#hidden_row" ).show();
else
$( "#hidden_row" ).hide();
});
答案 0 :(得分:1)
我有类似的问题,对我也有用。但是,我必须采用这种方式(脚本必须在数据表之前加载):
$.extend( true, $.fn.dataTable.defaults, {
"fnDrawCallback": function () {
var currentPage= this.fnPagingInfo().iPage;
if ((+currentPage + +1) == this.fnPagingInfo().iTotalPages) {
$("#target_id").show();
}else{
$("#target_id").hide();
}
}
});
});
*我会把它作为对另一个答案的评论,但我没有声誉。
答案 1 :(得分:0)
首先,实现众所周知的[fnPagingInfo] [1]"插件"。例如,在代码中添加以下内容:
$.fn.dataTableExt.oApi.fnPagingInfo = function ( oSettings ) {
return {
"iStart": oSettings._iDisplayStart,
"iEnd": oSettings.fnDisplayEnd(),
"iLength": oSettings._iDisplayLength,
"iTotal": oSettings.fnRecordsTotal(),
"iFilteredTotal": oSettings.fnRecordsDisplay(),
"iPage": Math.ceil( oSettings._iDisplayStart / oSettings._iDisplayLength ),
"iTotalPages": Math.ceil( oSettings.fnRecordsDisplay() / oSettings._iDisplayLength )
};
}
然后,在fnDrawCallback中应用if条件:
"fnDrawCallback": function () {
var currentPage= this.fnPagingInfo().iPage;
if ((+currentPage + +1) == this.fnPagingInfo().iTotalPages) {
$("#target_id").show();
}else
$("#target_id").hide();
}
});