bootstrapTable 列表分页选择 记住翻页前面的选择并传给父页面 复选框回填

子页面:

columns :

{
    checkbox: true,

    formatter: function (i, row) { // 每次加载 checkbox 时判断当前 row 的 id 是否已经存在全局 Set() 里
        if ($.inArray(row.customerId, overAllIds) != -1) { // 因为 判断数组里有没有这个 id 
            return {
                checked: true
                    // 存在则选中
            }
        }
            //复选框回填,不需要可以不写
//        if (in_array(row.customerId, strs))      
//            return {         
//                disabled: false, //设置是否可用 
//                        checked: true //设置选中                           
//            };   
//        return {         
//            disabled: false, //设置是否可用 
//                     checked: false //设置选中                     
//       };

    }

},
var overAllIds = new Array(); //全局数组
var overAllNames = new Array(); //全局数组

 //调这个方法 : 把返回值传给父页面
function confirm() {
    var len = overAllIds.length;
    if (len == 0) {
        layer.msg("请选择客户");
        return;
    }
    var data = {
        ids: overAllIds,
        names: overAllNames,
        len: len
    }
    parent.back(data);//父页面方法
    var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
    parent.layer.close(index);


}

//调这个方法 : 直接返回id数组
function getSelectCheck() {
    //直接返回id数组
    return overAllIds; 
}

function examine(type, datas) {
    if (type.indexOf('uncheck') == -1) {
        $.each(datas,
            function (i, v) {
                // 添加时,判断一行或多行的 id 是否已经在数组里 不存则添加 
                overAllIds.indexOf(v.customerId) == -1 ? overAllIds.push(v.customerId) : -1;
                overAllNames.indexOf(v.customerName) == -1 ? overAllNames.push(v.customerName) : -1;
            });
    } else {
        $.each(datas, function (i, v) {
            overAllIds.splice(overAllIds.indexOf(v.customerId), 1); //删除取消选中行
            overAllNames.splice(overAllNames.indexOf(v.customerName), 1); //删除取消选中行
        });
    }
}
$('#exampleTable').on('uncheck.bs.table check.bs.table check-all.bs.table uncheck-all.bs.table', function (e, rows) {
    var datas = $.isArray(rows) ? rows : [rows]; // 点击时获取选中的行或取消选中的行
    examine(e.type, datas); // 保存到全局 Array() 里
});

//复选框回填,不用可以不写
//var customerId = $("#customerId").val();
//var strs= new Array(); //定义一数组 
//strs=customerId.split(","); //字符分割 

//function in_array(stringToSearch, arrayToSearch) {
//    for (s = 0; s < arrayToSearch.length; s++) {
//     thisEntry = arrayToSearch[s].toString();
//     if (thisEntry == stringToSearch) {
//      return true;
//     }
//    }
//    return false;
//}

父页面:

function back(obj){
	var idss = obj.ids;
	var namess = obj.names;
	
	$("#customerId").val(idss);
	$("#customerName").val(namess);
	
}

 

 

你可能感兴趣的:(JavaScript,bootstrapTable,列表分页选择,记住翻页前面的选择,传给父页面,分页选择传给父页面,复选框回填)