//定义两个数组 用于存id和name name作为回显 id存入数据库
var overAllIds = [];
var overAllNames = [];
$(function () {
//获取上一个页面(父页面)的id值 放入数组 用于回显
if (!$.common.isEmpty(parent.getfields())) {
overAllIds = parent.getfields().split(',');
}
//获取上一个页面(父页面)的name值 放入数组 用于回显
if (!$.common.isEmpty(parent.getfieldNames())) {
overAllNames = parent.getfieldNames().split(',');
}
var options = {
url: prefix + "/list",
clickToSelect: true,
//记住选项 用于分页记住功能
rememberSelected: true,
columns: [{
checkbox: true,
formatter: function (i, row) {
// 每次加载 checkbox 时判断当前 row 的 id 是否已经存在全局 Set() 里
if ($.inArray(row.bid, Array.from(overAllIds)) !== -1) {
// 因为 Set是集合,需要先转换成数组
return {
checked: true // 存在则选中
}
}
}
},
{
field: 'bid',
title: 'bid',
},
{
field: 'name',
title: '字段名称',
}
]
};
$.table.init(options);
$('#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);
});
});
function examine(type, datas) {
//选中值
if (type.indexOf('uncheck') === -1) {
$.each(datas, function (i, v) {
// 添加时,判断一行或多行的 id 是否已经在数组里 不存则添加
overAllIds.indexOf(v.bid) === -1 ? overAllIds.push(v.bid) : -1;
// 添加时,判断一行或多行的 id 是否已经在数组里 不存则添加
overAllNames.indexOf(v.name) === -1 ? overAllNames.push(v.name) : -1;
});
}
//取消勾选
else {
$.each(datas, function (i, v) {
overAllIds.splice(overAllIds.indexOf(v.bid), 1); //删除取消选中行
overAllNames.splice(overAllNames.indexOf(v.name), 1); //删除取消选中行
});
}
}
//子页面 提交 将父页面的id和name进行赋值
function submitHandler() {
parent.$("#field").val(Array.from(overAllIds));
parent.$("#fieldNames").val(Array.from(overAllNames));
var index = parent.layer.getFrameIndex(window.name); // 获取窗口索引
parent.layer.close(index);
}
BootStarp 实现勾选字段,分页记住并回显
最新推荐文章于 2023-08-17 10:50:26 发布