easyUI框架刷新页面之后怎么保存之前选中的数据(如复选框)
困扰我2天才写出来,各种方法实验,现在写出,希望给各位启发
onCheck:function(rowIndex){//选中时,将唯一元素存入数组中
var row = $("#zxgn").datagrid(“getRows”);
//alert(rowIndex+“增加的rowindex”);
var line = row[rowIndex].bh;
//line = JSON.stringfy(line)
rows.push(line);
//alert(“加入”+rows)
},
onUncheck:function(rowIndex){//取消时,将数组的元素消除
//alert(rowIndex+“减少的rowindex”);
var row = $("#zxgn").datagrid(“getRows”);
var line = row[rowIndex].bh;
var index = rows.indexOf(line);
//alert(index+“数组的下标”)
if(index>-1){
rows.splice(index,1);//注意这个方法,index必须指定
}
alert(rows+“减少”);
},
onLoadSuccess : function(){//重新加载的时候,因为用的选中的方法,所以每当重新进入方法就会又有元素加进去,所以先去除重复的元素
var row = $("#zxgn").datagrid(“getRows”);
var a;
var n = [rows[0]];
//从第二项开始遍历
for(var i = 1; i < rows.length; i++) {
//如果当前数组的第i项在当前数组中第一次出现的位置不是i,
//那么表示第i项是重复的,忽略掉。否则存入结果数组
if (rows.indexOf(rows[i]) == i) n.push(rows[i]);
}
alert(n+“全部”);
//将页面的元素和临时数组进行比较,如果一样就可以把行选中
for(var i =0; i<row.length;i++){
var a = row[i].bh
var index = n.indexOf(a);
if(index>-1){
//alert(1234)
$("#zxgn").datagrid("selectRow",i);
}
}
},