javaxiaocainiao 2011-01-07 15:29 采纳率: 50%
浏览 288
已采纳

Ext的TabPanel打开的两个tab之间js内容错乱

[code="java"]

Ext.onReady(function(){

    Ext.state.Manager.setProvider(new Ext.state.CookieProvider());

   var viewport = new Ext.Viewport({
        layout:'border',
        items:[
               mainTabpanel, //将欢迎界面放入到ViewPort
               {
                region:'west',
                id:'west-panel',
                title:'导航菜单',
                split:true,
                width: 200,
                minSize: 175,
                maxSize: 400,
                collapsible: true,
                margins:'0 0 0 5',
                layout:'accordion',
                layoutConfig:{
                    animate:true
                },
                items: [{
                    //contentEl: 'west',
                    title:'发票系统',
                    autoLoad : {
                        url:'/ExtDemo/demo/tree.jsp',
                        scripts:true
                    },
                    border:false,
                    iconCls:'nav'
                },{
                    title:'消息系统',
                    autoLoad : {
                        url:'/ExtDemo/demo/tree.jsp',
                        scripts:true
                    },
                    border:false,
                    iconCls:'nav'
                },{
                    title:'多业务系统',
                    autoLoad : {
                        url:'/ExtDemo/demo/tree.jsp',
                        scripts:true
                    },
                    border:false,
                    iconCls:'nav'
                },{
                    title:'日志系统',
                    autoLoad : {
                        url:'/ExtDemo/demo/tree.jsp',
                        scripts:true
                    },
                    border:false,
                    iconCls:'nav'
                }
                ]
            }
         ]
    });
});


var mainTabpanel = new Ext.TabPanel({
     id : 'MainTabPanel',
     region : "center",
     enableTabScroll: true,
     animate : true,
     frame:true,
     activeTab : "0",
     items : [{
        xtype : "panel",
        title : "欢迎"
       }]
}); //这里我定义一个欢迎的主页面,并且不能被关闭


function addtab(id, link, name) { //这里我定义一个方法,是在节点单击的时候触发这个方法,
       var tabId = "tab-" + id; 
       var tabTitle = name;
       var tabLink = link;
       currentPage = tabId;
       var centerpanel = Ext.getCmp('MainTabPanel'); 
       var tab = centerpanel.getComponent(tabId);
       var subMainId = 'tab-' + id + '-main';

       if (!tab) {  //判断MainTabPanel中是否存在这个页面,如果不存在
        tab = centerpanel.add(new Ext.Panel({
             id : tabId,
             title : tabTitle,
             autoScroll : true,
             iconCls : 'tabIconCss',
             layout : 'fit', //layout一定要是fit,不然显示grid会有问题。
             border : false,
             tools : [{id:'refresh'}],
             closable : true
            }));

        centerpanel.setActiveTab(tab); //将焦点指向我点击节点打开的页面
        tab.load({
           url : tabLink, //指向我传过来的页面的位置
           method:"post",
           params : {
               // 这里是关键的一个参数,传给load页,布局的关键
               subMainId : subMainId
           },
           scope : this, 
           discardUrl : true,
           nocache : true,
           text : "页面加载中,请稍候……",
           timeout : 9000,
           scripts : true
          });

       } else { //如果MainTabPanel,那么就直接将节点指向这个页面
        centerpanel.setActiveTab(tab);
       }
    }

[/code]

问题一:4个主菜单的url内容全部显示在了第一个主菜单里面。(见图一)
问题二:点击菜单时能在右侧center区域显示相应内容,但是所有的js相关内容都会显示在第一个打开的tab页面,而非js内容则能显示在对应的tab里面。(见图一、图二)

附:图一中的那个表格是子节点1所链接的内容,图二中的数字也是子节点1的,而图一中右侧的菜单是子节点2的,现在他们全都显示在子节点2中,但是非js的数字却在子节点1里面。

请教大家是怎么回事?

  • 写回答

1条回答 默认 最新

  • iteye_343 2011-01-07 17:42
    关注

    把各个tabpanel所使用的js,css移到 导航页面去 试一试

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮