记住引导表中的页面大小

时间:2015-11-13 13:33:25

标签: javascript html css twitter-bootstrap bootstrap-table

我在Bootstrap表中使用标准分页。我想记住用户选择的cookie页面大小值。

HTML:

<table id="users-table" class="table table-striped table-condensed" 
   data-toggle="table"
   data-url="/data.json"
   data-side-pagination="server"
   data-pagination="true"
   data-page-size="25">
...
</table>

使用Javascript:

$('#users-table').bootstrapTable({
    onLoadError: function (status) {
        SetErrorMessage('error');
    }
});

如何检测页面大小更改以将此值保存在cookie中?

4 个答案:

答案 0 :(得分:0)

使用jQuery获取页面大小:

var pagesize = $('#users-table').data('page-size');

使用jquery-cookie插件将值保存在Cookie中:

$.cookie('size', pagesize, {
      expires: 30 //Expires in 30 days
});

检索它:

var cookie = $.cookie('size');

并在检索后设置表格大小:

$('#users-table').data('page-size', cookie);

答案 1 :(得分:0)

您必须检测位于表格下方的dropdown尺寸的点击,以获取用户选择的尺寸,并使用 Jquery-cookies {将其保存在Cookie中{3}}

<强> js-cookie

这是使用js-cookie

的示例
var page_size = 25; //Default size

//If cookie page_size exist
if( Cookies.get('page_size') != null )
{
    page_size = Cookies.get('page_size');
    $('#inpost-users-table').data('page-size', page_size); //set page size
}

//When user choose new size 
$(document).on('click', '.dropdown-menu', function()
{
    var size_selected = $('.pagination-detail .page-size').text();
    Cookies.set('page_size', size_selected);
}); 

希望这会有所帮助。

答案 2 :(得分:0)

您可以覆盖onPreBody和onPageChange方法,以检查pageSize是否已更改,并在发布到服务器之前从cookie设置它。

有代码

    var CookieName = "ShipmentsInSessionTablePageSize";

    $('#table').bootstrapTable({

        onPreBody: function(data) {

            var pageSizeCookie = $.cookie(CookieName);
            if (pageSizeCookie != null) {

                var pageSizeInt = parseInt(pageSizeCookie);
                this.pageSize = pageSizeInt;
            }
        },
        onPageChange: function (pageSize, pageNumber) {

            $.cookie(CookieName, pageSize, { expires: 30 });
        },
        ...

答案 3 :(得分:0)

为了解决这个问题,您必须使用Bootstrap表插件支持的Cookie扩展。请参阅:https://github.com/wenzhixin/bootstrap-table/tree/master/src/extensions/cookie和此示例:http://issues.wenzhixin.net.cn/bootstrap-table/#extensions/cookie.html