jqgrid使用陣列,實現選中再翻頁還是選中
//這三個函式一起組成jQgrid選中,並且翻頁的時候也能選中 //全域性陣列,接收每一次選中的行資料 //KPI_ID 這個是一行資料的唯一id,每一行都有一個 var selectArr = []; gridComplete:function() { var _this = this; //這裡是獲取jqgrig表格所有的行 var rowData = $(_this).jqGrid('getRowData'); //遍歷所有的行,如果是選中的,說明它在陣列中,讓他選中 for(var i =0,n=rowData.length;i<n;i++){ var obj = rowData[i]; //判斷是否存在資料 if(selectArr[obj.KPI_ID]){ $(_this).jqGrid('setSelection',i+1,false); } } }, //每次選中行的時候,會執行的函式 onSelectRow:function(rowid,status, e) { //獲取當前行物件資料 var obj = $(this).jqGrid('getRowData',rowid); //如果是選中,把他放入陣列中 if(status){ selectArr[obj.KPI_ID]=obj; }else{ //當再一次點選的時候,就移除陣列,取消選中 if(selectArr[obj.KPI_ID]){ delete selectArr[obj.KPI_ID]; } } }, //這個是選中jqgrid所有的資料,包括上下頁 onSelectAll:function(aRowids,status) { var _this = this; //這個是選中jqgrid所有的資料,包括上下頁 var rowData = $(_this).jqGrid('getRowData'); //迴圈遍歷,獲取所有的資料,把所有的資料都放入到陣列中 for(var i=0,n=rowData.length;i<n;i++){ var obj = rowData[i]; if(status){ selectArr[obj.KPI_ID]=obj; }else{ //當全選按鈕再一次點選的時候,取消選中,把資料從陣列中移除 if(selectArr[obj.KPI_ID]){ delete selectArr[obj.KPI_ID]; } } } },