ext tablpanel 和 iframe问题

小弟遇到一个严重的问题 用ext 中的 tablpanle 包含 iframe 出现下列情况
      比如 左边是树行菜单,点一个树形菜单 增加一个tab 每个tab加载一个iframe,打开tab加载iframe没有问题 ,但是如果关了其中一个tab,然后再打开任何一个tab,那么ifrmame都显示的是最后关掉tab中的iframe,百思不得其解,请大哥们赐教,先上代码

     function addTab(url,name,id)
     {
                
                var tmptab = tabsDemo.getItem("newtab"+id);
                if(tmptab)tabsDemo.remove(tmptab,true);
                tabsDemo.add({
                title:name,
                layout:'fit',
                id:"newtab"+id,
                //autoScroll:true, 
                autoDestroy:false,
                enableTabScroll:true,//挤的时候能够滚动收缩
                closable:true,
                html : '<div id="aa"><iframe id = "tabiframe" src="'+url+'"/> </div>'
           }).show(); 
                alert(Ext.get(''+id+'').dom.src);
                Ext.get("tabiframe").dom.src = url; 

                
         
     }


 

 


问题补充:
嗨 你好老大  function removeTabByIdd(sqId){
  var idd="GDCM"+sqId;
  try{
  var tabEle = centerTabPanel.getItem(idd);
  if(tabEle){
  centerTabPanel.remove(tabEle,true);
  }
  }catch(e){}
  }

放在哪里啊
问题补充:
谢谢大哥的再次关注 我要在点tab小叉的时候执行removeTabByIdd事件 tab生成的时候应该如何写呢 把removeTabByIdd加入到 关闭事件中

[code="java"]
function openMain(href,name){
try{
//当标签数组中有数据时,开始比对当前操作的超链接所生成的标签页是否已经存在。如果存在就不再创建相同的标签页,对标签页进行显示操作
if (addIndex > 0){
for (var i=0; i<tabsArray.length; i++){
if (tabsArray[i].title == name){
tabsArray[i].show();
return;
}
}
}

    //创建链接标签页
    tabsArray[addIndex] = tabs.add({
        title: name,
        html: '<iframe scrolling="auto" width="100%" height="100%" frameborder="0" src="'+href+'"></iframe>',
        closable:true,              //是否可关闭
        destroy:function(){         //销毁当前标签页面所触发的事件
            var bakArray = new Array(); 
            var bakIndex = 0;
            //比对当前销毁的标签在标签对象中的位置,比对成功后就将当前标签页删除。没有匹配到的标签对象,将移动到备份数组中
            for (var removeIndex=0; removeIndex<tabsArray.length; removeIndex++){
                if (tabsArray[removeIndex].title == name){
                    tabsArray[removeIndex] = '';    //删除当前标签页
                }else{
                    bakArray[bakIndex] = tabsArray[removeIndex];
                    bakIndex++;
                }
            }

            tabsArray = bakArray;           //重新排序标签页数组
            addIndex = bakArray.length;     //重定义标签数组累加器

        },
        autoScroll:true
    }).show();  //创建标签页完成后显示

    addIndex++;
}catch(e){
    alert(e.message);
}

}
[/code]
以上代码是我们项目用到的tab选项卡功能,也是使用的iframe打开新页面,但是没有出现过你说的情况,以上代码可以给你点参考意见

    function addNewTab(newUrl,urlName,icon,sqId){
        var idd="GDCM"+sqId;
        //获取面板
        var tabEle = centerTabPanel.getItem(idd);
        if(tabEle){
            centerTabPanel.remove(tabEle,true);
        }
        //判断面板是否打开
        //if(!tabEle){
        tabEle=centerTabPanel.add({
            closable:true,
            id:idd,
            title:urlName,
            html:'<iframe scrolling="auto" frameborder="0" width="100%" height="100%" src='+newUrl+' id="tabFrame"></iframe>',
            autoShow:true,
            iconCls:icon
        });
        //}
        centerTabPanel.setActiveTab(tabEle);
    }
    function removeTabByIdd(sqId){
        var idd="GDCM"+sqId;
        try{
            var tabEle = centerTabPanel.getItem(idd);
            if(tabEle){
                centerTabPanel.remove(tabEle,true);
            }
        }catch(e){}
    }

function removeTabByIdd(sqId){
var idd="GDCM"+sqId;
try{
var tabEle = centerTabPanel.getItem(idd);
if(tabEle){
centerTabPanel.remove(tabEle,true);
}
}catch(e){}
}
这个方法是你动态删除的时候需要用的,比如你想点击一个按钮来删除某个TAB就可以用这个方法,和addTab放着一起

tab那个小叉有关闭的方法,这个方法就是说你在别的网页中如有有关闭的按钮,想关闭当前操作的TAB,或者是想关闭指定ID的TAB可以用这个方法,不需要加入到关闭事件中的