最近在学习jquery框架,感激比较容易,也比较实用,虽然没有ext那么强大,但是一般的需求还是能满足。并且很好的一点是,jquery在众多人的关注努力下每天都在进步。以前的UI设计也不是很好,但是出现了JqueryEasyUI1.2之后,发现和ext越来越接近了。呵呵,真的很强大,相信这个UI会越来越好,也会有越来越多的人关注这个框架,这个UI。
以下是easyUI1.2的tabs的简单实用介绍,这个不是重点,重点的是我后面使用过程中发现的问题,及解决方案。
var e =$('#main').tabs('exists','accordion');
if(e==true){
$('#main').tabs('select','accordion');
return ;
}
$('#main').tabs('add',{
title:'accordion',
href:'accordion.html',
closable:true
});
功能是用户第一次点击打开tab页就打开一个tab页,当用户没关闭这个tab页,又去另外一个tab页操作,再回来刚才的tab页后就不用打开另外一个和刚才一样的tab页,而是同一个tab页。
如果把href后面的换成jsp动态页面
var e =$('#main').tabs('exists','goodInfo');
if(e==true){
$('#main').tabs('select','goodInfo');
return ;
}
$('#main').tabs('add',{
title:'goodInfo',
href:'${ctx}/goods/good_list2.jsp',
closable:true
});
问题就来了,第一次打开一个tab页没错,但是第二次点击打开另外一个的时候就出错了。并且jquery这点也很不好,只要出现jquery出现错误了,就会影响其他的,并且很难调试,因为你不是在一个页面,而是一个大的页面包含很多小的页面,现在也没有一个好的js调试工具,期待。。。。。。。
解决方法就是不用href了,换成用content属性,呵呵,tabs还是有很多属性的,这个不行换一个试试。
var url="${ctx}/goods/good_list2.jsp";
var content = '<iframe scrolling="no" frameborder="0"'+
'src="'+url+'" style="width:100%;height:100%;"></iframe>';
if(!$('#main').tabs('exists','goodInfo')){
$('#main').tabs('add',{
title:'goodInfo',
content:content,
//href:'${ctx}/goods/good_list2.jsp',
closable:true
});
}else{
$('#main').tabs('select','goodInfo');
}
这样问题就解决,至于为什么会出现这个错误,我只是有点小小想法,不知道正确不正确,这里也就不说了,以后研究出来了再和大家分享。