页面的样式是左边是一个动态生成的树,右边是一个带有搜索,增删改的分页list,整个页面进入时,显示右边的动态树,再点击树节点,根据树节点的信息加载右边要显示的list信息。若是按照dwz框架中的局部刷新页面1,搜索,或是增删改之后,右边页面将会消失,刷新左边页面。
首先解决搜索局部刷新。
- <div class="pageHeader" style="border:1px #B8D0D6 solid">
- <form id="pagerForm" onsubmit="return divSearch(this, 'jbsxBox');" action="<s:url action='list' namespace='/q'/>" method="post">
- <input type="hidden" name="pageNum" value="<s:property value="page.pageNo"/>" />
- <input type="hidden" name="numPerPage" value="<s:property value="page.pageSize"/>" />
- <s:hidden name="categoryId"/>
- <div class="searchBar">
- <table class="searchContent">
- <tr>
- <td><label>问题:</label><input type="text" name="description" value="<s:property value='description'/>"/></td>
- <td>
- <div class="buttonActive">
- <div class="buttonContent">
- <button type="submit">检索</button>
- </div>
- </div>
- </td>
- </tr>
- </table>
- </div>
- </form>
- </div>
关键在于表单提交时的条用函数onsubmit="return divSearch(this, 'jbsxBox');
其中jbsxBox是想要刷新的局部块div的id。
再是解决增删改之后的问题。
删除之后调用的回调函数,写在删除所在的a标签里
- callback="function(){$('#pagerForm', navTab.getCurrentPanel()).submit();}">
意思就是让id为pagerForm的表单重新提交一次,就是那个搜索表单
增改也是同理
先是表单提交函数
- onsubmit="return validateCallback(this, dialogRefresh)"
- function dialogRefresh(json){
- DWZ.ajaxDone(json);
- if (json.statusCode == DWZ.statusCode.ok){
- $("#pagerForm", navTab.getCurrentPanel()).submit();
- $.pdialog.closeCurrent();
- }
- }
这样右边的局部刷新就完成了。
但是一旦这样绑定之后,你会发现在左边进行增删改时,左边模块不刷新了,然后就根据这个原理在增删改时给他绑定一个url,这样这个问题也解决了
- function dialogTreeRefresh(json){
-
- DWZ.ajaxDone(json);
- if (json.statusCode == DWZ.statusCode.ok){
- $("#Tree").loadUrl("<s:url action='list' namespace='/q'/>","",
- function(){
- $("#Tree", navTab.getCurrentPanel()).find("[layoutH]").layoutH();
- });
- $.pdialog.closeCurrent();
- }
-
- }
这样之后,貌似问题已经解决了,但是还有一个瑕疵,那就是你在左边进行过增加之后,你再在右边进行增删改,右边页面不刷新,只能在左边增加之后,就刷新整个模块,这样右边才能刷新。
这个问题求大神指教啊 。。。。求指教啊 没人回额
|