jqgrid 翻页记录选中行
简单的jqgrid列表
$("#list").jqGrid({ url:contextPath + "/getList", postData: data, datatype:"json", colNames : [ '用户名','密码'], colModel : [ { name : 'name', index : 'name', align : 'center' }, { name : 'psw', index : 'psw', align : 'center' }], rownumbers : true, viewrecords : true, multiselect : true, rowNum : 20, pager : $('#gridPager') });
分页后每次翻页都会丢掉之前选中行的记录
设置全局变量
var SelectList = []//(用于记录被选中的行)
onSelectAll: function (aRowids, status) { if (status) { for (var i = 0; i < aRowids.length; i++) { if (SelectList.indexOf(aRowids[i]) == -1) {//每一次勾选时,检查该行是否在SelectList中, //若在,则在SelectList中删除该记录 //(翻页也会触发onselect事件,所以需检查该行是否在unselects中) SelectList.push(aRowids[i]); } } } else { for (var i = 0; i < aRowids.length; i++) { if (SelectList.indexOf(aRowids[i]) > -1) {//每一次勾选时,检查该行是否在SelectList中, //若在,则在SelectList中删除该记录 //(翻页也会触发onselect事件,所以需检查该行是否在unselects中) SelectList.splice($.inArray(aRowids[i], SelectList), 1) } } } }, gridComplete: function () { var ids = $("#grid-table").jqGrid('getDataIDs'); for (var i = 0; i < ids.length; i++) { if ((SelectList.indexOf(ids[i]) > -1)) { $("#grid-table").jqGrid('setSelection', ids[i]); } } }, onSelectRow: function (rowid, status) { if (status) { // 每一次取消选中时,将该行id添加到SelectList中 if (SelectList.indexOf(rowid) == -1) {//每一次勾选时,检查该行是否在SelectList中, //若在,则在SelectList中删除该记录 //(翻页也会触发onselect事件,所以需检查该行是否在unselects中) SelectList.push(rowid); } } else { if (SelectList.indexOf(rowid) > -1) {//每一次勾选时,检查该行是否在SelectList中, //若在,则在SelectList中删除该记录 //(翻页也会触发onselect事件,所以需检查该行是否在unselects中) SelectList.splice($.inArray(rowid, SelectList), 1) } } },
有错误的请多多指教,共同进步(๑•ᴗ•๑)
By听雨的人
By听雨的人