在分页的jQuery数据表的最后一页上显示一行
我想在点击数据表的最后一页时使隐藏行可见。我该怎么做? 我找不到获取当前页码和Jquery Datatable分页的最后页码的方法。
这是我想要做的,但我不知道如何获取当前页面和最后一页。
$( "#paginate_button" ).click(function() { if(.......){ //if clicked page number= last page $( "#hidden_row" ).show(); else $( "#hidden_row" ).hide(); });
首先,实现众所周知的[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(); } });
我有类似的问题,对我也有用。 但是,我必须这样(脚本必须在数据表之前加载):
$.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(); } } }); });
*我会把它作为对另一个答案的评论,但我没有声誉。