在easyui多页面跳转时,有时需要记住当前页的搜索条件,当前页码,那么如何实现呢?
easyui form 与 sessionStorage
初始化不设置url,避免多次加载
datagrid = $('#datagrid').datagrid({ //url : '${app}/carElectronicContract/ElectronicContracts', title : '', pagination : true, ... });
页面加载完成 判断 sessionStorage是否有值,并设置datagrid的url, load或reload数据
var fdata=sessionStorage.getItem('fdata'); datagrid.datagrid('options').url ='${app}/carElectronicContract/ElectronicContracts'; //console.log(fdata); if(fdata!=null){ console.log('------------'); console.log(fdata); fdata = JSON.parse(fdata); $('#searchForm').form('load',fdata); datagrid.datagrid('reload',fdata); }else{ datagrid.datagrid('load'); }
form提交时设置 sessionStorage
var fdata=serializeObject($("#searchForm")); console.log(fdata); console.log(fdata.transStatus); sessionStorage.setItem('fdata', JSON.stringify(fdata)); datagrid.datagrid('load',serializeObject($("#searchForm"))); datagrid.datagrid('clearSelections'); datagrid.datagrid('clearChecked');
form reset 清空表单并 reload
$('#searchForm').form('reset'); datagrid.datagrid('reload',serializeObject($("#searchForm"))); sessionStorage.removeItem('fdata'); /* sessionStorage.removeItem('fdata'); window.location.reload(); */
记住页码
datagrid{ onLoadSuccess: function(){ var options = $(this).datagrid("getPager").data("pagination").options; var page = options.pageNumber; // fdata.rows = options.pageSize; sessionStorage.setItem('page', page); sessionStorage.setItem('pageSize', options.pageSize); }, } console.log('------------'); console.log(fdata); fdata = JSON.parse(fdata); $('#searchForm').form('load',fdata); var page=sessionStorage.getItem('page'); var pageSize=sessionStorage.getItem('pageSize'); console.log('page:'+page); if(page!=null){ page=parseInt(page); } datagrid.datagrid({queryParams:fdata, pageNumber: page ,pageSize: pageSize}); //datagrid.datagrid('options').pageNumber = fdata.page; //datagrid.datagrid('load',fdata); //datagrid.datagrid('gotoPage', 3);
初始刷新
var url=window.location.href+''; console.log(url); if(url.indexOf('load=true')>0){ sessionStorage.removeItem('fdata'); sessionStorage.removeItem('page'); sessionStorage.removeItem('pageSize'); }