1、easyui在每一行加checkbox
{ field: 'id', title: '编号', checkbox: true }
2、easyui分页时记住前面已选的checkbox
设置easyui的dField属性
dField: 数据字段,一般为主键或唯一确定的字段
3、获取已勾选的行:
var rows = $('#datagrid').datagrid('getChecked');
4、判断checkbox是否全选:
var allFlg = $(".datagrid-header-check").find("input").is(":checked");
5、checkbox在弹出层的,记住选中的checkbox,再次弹出弹出层时,将已选的checkbox回设
先将已选的checkbox该行的idField存进全局变量数组
// 保存已选的checkbox
var checkboxs = new Array();
function selectCheckBox() {
var rows = $('#datagrid').datagrid('getChecked');//获取已勾选的行
checkboxs = new Array();//全局变量
注:这里要重新new,不然会保留上一次的勾选结果
for (var i = 0; i < rows.length; i++) {
checkboxs [i] = (rows[i][idField的值]);
}
}
下次进来时执行
onLoadSuccess: function (data) {
if (data.rows.length > 0) {
for (var i = 0; i < data.rows.length; i++) {
//判断该idField是否为数组中的元素
if (checkboxs .in_array(data.rows[i].idField的值)) {
//将该index的行的checkbox勾上
$("#datagrid").datagrid("selectRow", i);
}
}
}
},
// 判断字符串是否是数组里的元素
Array.prototype.in_array = function (element) {
for (var i = 0; i < this.length; i++) {
if (this[i] == element) {
return true;
}
}
return false;
}