|
|
今天在清空easyui的Tab上耗时不少,不过还是搞定了,可能是我道行浅,老绝得easyui有时很诡异。整理一下代码,希望可以帮到大伙。
具体javaScirpt如下:
我自己的解决办法是把所有的title先存到数组里,然后再遍历,不知网上还没更好的解决方法没,学习一下。
//清空所有的Tab function closeAllTabs(id){ var arrTitle = new Array(); var id = "#"+id;//Tab所在的层的ID var tabs = $(id).tabs("tabs");//获得所有小Tab var tCount = tabs.length; if(tCount>0){ //收集所有Tab的title for(var i=0;i<tCount;i++){ arrTitle.push(tabs.panel('options').title) } //根据收集的title一个一个删除=====清空Tab for(var i=0;i<arrTitle.length;i++){ $(id).tabs("close",arrTitle); } } }
html如下:
<div id="tabs_bgcom" class="easyui-tabs" data-options="fit:true,plain:true"></div>
添加Tab
for(var i=0;i<5;i++) { $('#tabs_bgcom').tabs('add',{ cache:false, title:"title"+i, href:"show!showSubTabCom.do" });}
如何使用
closeAllTabs('tabs_bgcom');
如果使用如下代码不行,tabs.length不稳定会变
//清空所有的Tab function closeAllTabs(id){ var id = "#"+id var tabs = $(id).tabs("tabs"); if(tabs.length>0){for(var i=0;i<tabs.length;i++){ $(id).tabs("close",tabs.panel('options').title); } } }
下面这样也不行,var count = tabs.length,
//清空所有的Tab function closeAllTabs(id){ var id = "#"+id var tabs = $(id).tabs("tabs"); var tCount = tabs.length; if(tCount>0){ for(var i=0;i<tCount;i++){ $(id).tabs("close",tabs.panel('options').title); } } } |
|