心得体验:
DWZ依赖特定的HTML结构,所以一定要注意项目中的HTML结构,多用firebug查看,还有如果使用一些组件的时候出现问题,可以查看下返回JSON格式是否符合组件规定的JSON格式,很多都是因为这个问题造成的。 DWZ分navTab标签页和dialog弹出层,所以表单的回调函数应该在navTab页面上使用navTabAjaxDone,在dialog页面上使用dialogAjaxDone。
问题记录: Q1:dialog加载的表格数据批量操作有问题,获取不到id。 解决: 在操作里加入targetType="dialog" Q2: dialog加载的表格数据排序有问题,点需要排序的表头没反应,已确定后台没问题。 解决: 在外层table里加入targetType="dialog" Q3:dialog加载的表格数据分页问题,点了下一页没反应 解决: 分页那里需要设置为<div class="pagination" targetType="dialog" totalCount="{$totalCount}" numPerPage="{$numPerPage}" pageNumShown="10" currentPage="{$currentPage}"></div> Q4:在正式版本中,dialog层操作成功后,层不会自动关闭,主页不刷新 解决:表格结构如下 <form method="post" action="__URL__/edit/navTabId/datagrid/callbackType/closeCurrent" class="pageForm required-validate" οnsubmit="return validateCallback(this,dialogAjaxDone)"></form> 影响关闭:callbackType/closeCurrent 影响刷新:navTabId/datagrid(主页页面名称) Q5:二级dialog操作成功后,一级dialog里的数据表格不刷新 解决:目前没找到dwz自带的方法,暂用扩展方法 页面JS: function dialogAjax(json){ dialogAjaxDone(json); // 用于二级dialog层关闭 $.pdialog.reloadDialog('dialog1'); } 扩展方法,放在dwz.dialog.js中: reloadDialog:function(dialogId){ var dialog = $("body").data(dialogId); if(dialog){ $.pdialog.reload(dialog.data("url"),{dialogId:dialogId}); } } 调用函数: <a class="button" href="url" target="dialog" rel="dialog2" ><span>打开窗口</span></a>//打开二级dialog,rel="dialog2"为二级dialog的id标识 <a href="url" target="ajaxTodo" title="你确定要删除吗?" callback="dialogAjax('dialog1')">删除</a>
转载于:https://www.cnblogs.com/Qzhou/p/3380440.html