jquery easy ui 新弹出的dialog 每次都显示第一次load的数据

来源:互联网 发布:蜻蜓fm收音机mac版 编辑:程序博客网 时间:2024/05/18 15:05

在用jquery easy ui 中遇到一个问题,在列表页面需要根据某一条选中的记录查询该记录的子记录,弹出dialog展现,easy ui的实现方式是在父页面把弹出的子页面数据都写好,逻辑都写在父页面上,个人总觉得在子页面上自己去load数据更好,所以就在子页面弹出的时候 去调用datagrid load数据,可是只有第一次的时候load数据了,单击别的记录 弹出的dialog还是第一次的数据,加上cache :fasel  以及时间戳都不好使,加上 dialog.destroy   remove  也不好说,直接空白了,后来发现在调用remove的时候 把要弹出dialog的div也给remove了,所以现在的解决办法是:


在父页面 div初始是0

<div id="detail0"></div></body>

在js方法中 

var index=0;var detail = $("#detail"+did);detail.append(url).dialog({           autoOpen: true,           modal: false,           height: 500,           width: 720,           resizable: true,           title: "子页面",   onClose: function() {              detail.remove();              did=parseInt(did)+parseInt(1);              $("#body").append("<div id=detail"+did+"></div>");          }    });

在onClose方法中 remove完后,在body中新增一个div 然后id自增,这样每次remove后就会新增一个新的div来弹出dialog,就不存在每次都load第一次的数据的问题,不知道是不是还有别的更好的方法,总之我是先这样解决的

0 0