子页面:
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);
}