Bootstrap-table中跨页记住checbox,返回时保留勾选状态 (多选框分页保留)

Bootstrap-table中跨页记住checbox,返回时保留勾选状态

<body>
    <div class="container">
        <h1>Maintain selected on server side.(<a href="https://github.com/wenzhixin/bootstrap-table/issues/917" target="_blank">#917a>).h1>
        <table id="table"
               data-toggle="table"
               data-pagination="true"
               data-side-pagination="server"
               data-url="/examples/bootstrap_table/data"
               data-response-handler="responseHandler">
            <thead>
            <tr>
                <th data-field="state" data-checkbox="true">th>
                <th data-field="id">IDth>
                <th data-field="name">Item Nameth>
                <th data-field="price">Item Priceth>
            tr>
            thead>
        table>
    div>
<script>
    var $table = $('#table'),
        selections = [];
    $(function () {
        $table.on('check.bs.table check-all.bs.table ' +
                'uncheck.bs.table uncheck-all.bs.table', function (e, rows) {
            var ids = $.map(!$.isArray(rows) ? [rows] : rows, function (row) {
                    return row.id;//注意这里的row.id 中的id指的是列表的主键,替换成你使用的就行了比如 studentId等
                }),
                func = $.inArray(e.type, ['check', 'check-all']) > -1 ? 'union' : 'difference';
            selections = _[func](selections, ids);
        });
    });
    function responseHandler(res) {
        $.each(res.rows, function (i, row) {
           //注意这里的row.id 中的id指的是列表的主键,替换成你使用的就行了比如 studentId等
            row.state = $.inArray(row.id, selections) !== -1;
        });
        return res;
    }
script>
body>
勾选的结果保留在selections数组中
  • 使用时在jquery.min.js、bootstrap.min.js、bootstrap-table.js之后引入
    lodash.min.js

  • lodash.min.js下载地址
    http://download.csdn.net/download/capmiachael/9974980

  • 参考
    http://issues.wenzhixin.net.cn/bootstrap-table/#issues/917.html

你可能感兴趣的:(Bootstrap-table中跨页记住checbox,返回时保留勾选状态 (多选框分页保留))