easyUI的同一dialog加载多次的情况解决

今天在刷新tab页时发现其中的dialog内容每次都不变,只有刷新整张页面之后才会变。

刚开始以为是缓存,因为正好页面用到了velocity的#parse,还以为velocity会把#parse的页面缓存起来

于是看了一下response,返回的页面确实是改过的,那就不是缓存问题。

查看了一下页面的元素,发现居然有两个id相同的dialog,就是这个原因!为什么呢?

因为easyUI在解析dialog的时候,不论dialog定义在哪里,都会被放到body下

而在刷新tab的时候,只刷新某一个tab panel下的所有元素,所以刷新的时候又解析了一次dialog,于是我们就看到多个dialog了。

那么该如何解决这个问题呢?

1、将dialog放到主界面中,而不是通过tab来加载

2、刷新的tab的时候去销毁掉之前的dialog

这里我用了第二种方法,大家看看吧

onBeforeLoad:function(param){
	if(title == '测试'){
		if($('#repairsPaper')[0]){
			$('#repairsPaper').dialog('destroy', true);
		}						
	}
}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值