bootstrap-table分页实现跨页勾选

分页实现跨页勾选

// 全局数组,存放分页跳转时勾选的数据
var overAllIds = new Array();

function examine(type, datas) {
        if (type.indexOf('uncheck') == -1) {
            $.each(datas, function(i, v) {
                // 添加时,判断一行或多行的 id 是否已经在数组里 不存则添加 
                overAllIds.indexOf(v.id) == -1 ? overAllIds.push(v.id) : -1;
            });
        } else {
            $.each(datas, function (i, v) {
                // 删除取消选中行
                overAllIds.splice(overAllIds.indexOf(v.id), 1);
            });
        }
    }

    $('#bootstrap-table').on('uncheck.bs.table check.bs.table check-all.bs.table uncheck-all.bs.table', function(e, rows) {
        // 点击时获取选中的行或取消选中的行
        var datas = $.isArray(rows) ? rows : [ rows ];
        // 保存到全局 Array() 里
        examine(e.type, datas);
    });

 var queryDeviceInfo=function () {
        var options = {
            url: prefix + "/list",
            updateUrl: prefix + "/edit/{id}",
            removeUrl: prefix + "/remove",
            modalName: "船舶列表",
            exportUrl: prefix + "/export",
            importUrl: prefix + "/importData",
            importTemplateUrl: prefix + "/importTemplate",
            columns: [{
                checkbox: true,
                // 每次加载 checkbox 时判断当前 row 的 id 是否已经存在全局 Set() 里
                formatter:function (i, row) {
                    // 因为 判断数组里有没有这个 id
                    if ($.inArray(row.id, overAllIds) != -1) {
                        return {
                            // 存在则选中
                            checked: true
                        }
                    }
                }
            }
            ......
}

你可能感兴趣的:(BootStrap)