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;
}
