[/code] 页面的样式是左边是一个动态生成的树,右边是一个带有搜索,增删改的分页list,整个页面进入时,显示右边的动态树,再点击树节点,根据树节点的信息加载右边要显示的list信息。若是按照dwz框架中的局部刷新页面1,搜索,或是增删改之后,右边页面将会消失,刷新左边页面。
首先解决搜索局部刷新。
[code="java"]<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>
关键在于表单提交时的条用函数οnsubmit="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();
}
}
这样之后,貌似问题已经解决了,但是还有一个瑕疵,那就是你在左边进行过增加之后,你再在右边进行增删改,右边页面不刷新,只能在左边增加之后,就刷新整个模块,这样右边才能刷新。
这个问题求大神指教啊 。。。。求指教啊 没人回额 :cry: