extjs 如何通过点击a.jsp内的树,来控制其中嵌套的b.jsp中tabpanel的activeTab选中0或者1、2、3???

这是a.jsp中的代码varpn1=Ext.create('Ext.panel.Panel',{region:"center",id:'pn1',layout:'fit'... 这是 a.jsp中的代码

var pn1=Ext.create('Ext.panel.Panel',{
region : "center",
id:'pn1',
layout : 'fit',
frame : true,
resizeTabs : true,
autoScroll : false,
closable : true,
html : '<iframe src="b.jsp" frameborder="0" scrolling="yes" id="setframe" name="setframe" width="100%" height="100%"></iframe>',
border:false
});

b.jsp中只有一个tabpanel,如何在a中控制b的activeTab
展开
 我来答
luffy1201
2013-06-16 · TA获得超过1523个赞
知道小有建树答主
回答量:401
采纳率:0%
帮助的人:579万
展开全部
 <html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <link rel="stylesheet" type="text/css" href="ext/resources/css/ext-all.css" />
        <script type="text/javascript" src="ext/adapter/ext/ext-base.js"></script>
        <script type="text/javascript" src="ext/ext-all.js"></script>
     
        <script type="text/javascript">          
    Ext.onReady(function() {
    var windowWidth = 1000;
    var windowHeight = 500;
    var tree = new Ext.tree.TreePanel( {
        region : "west",
        width : windowWidth / 6,
        height : windowHeight,
        title : "test",
        root : new Ext.tree.AsyncTreeNode( {
            text : "all",
            children : [ {
                text : "aaa",
                leaf : true
            }, {
                text : "bbb",
                leaf : true
            }, {
                text : "ccc",
                leaf : true
            } ]
        }),
        autoScroll : true,
        animate : true,
        lines : false,
        collapseMode : "mini",
        collapsible : true,
        margins : '0 0 2 2',
        cmargins : '0 5 2 2',
        layoutConfig : {
            animate : true
        },
        split : true,
        border : true,
        minSize : windowWidth / 6,
        maxSize : windowWidth / 6,
        listeners : {
            click : function(n) {
                if (n.leaf) {
                    showTab_addPanel( {
                        id : n.id,
                        name : n.text
                    });
                }
            }
        }
    });
    function showTab_addPanel(obj) {
        var objId = obj.id;
        var name = obj.name;
        var itemPanel = tabPanel.getItem(objId);
        if (itemPanel) {
            tabPanel.setActiveTab(itemPanel);
        } else {
            // 在这里可以写点变量,然后在下面拼接src实现点击动态生成嵌套的页面
        var tb = new Ext.Panel(
            {
                title : name,
                id : objId,
                layout : 'fit',
                items : [ new Ext.Panel(
                        {
                            closable : "true",
                            region : "center",
                            layout : 'fit',
                            frame : true,
                            resizeTabs : true,
                            autoScroll : true,
                            html : '<iframe scrolling="auto" frameborder="0" width="100%" height="100%" src=http://www.hao123.com></iframe>'}) ],
                closable : true,
                listeners : {
                    beforeclose : function(p) {
                        p.setVisible(false);
                    },
                    beforedestroy : function() {
                        return false;
                    }
                }
            });
            tabPanel.add(tb);
            tabPanel.setActiveTab(tb);
        }
    }
    var tabPanel = new Ext.TabPanel(
        {
            region : "center",
            resizeTabs : true,
            items : []
        })
     
    var emPanel = new Ext.Panel( {
        width : windowWidth - 15,
        height : windowHeight - 60,
        layout : "border",
        border : true,
     
        items : [ tabPanel, tree ]
    });
     
    var windowWidth = window.screen.availWidth;
    var style = 'margin-top:150px;margin-left:150px;';
    var el = Ext.get('auto-center').applyStyles(style);
    emPanel.render(el);
});
    </script>
    </head>
    <body>
    <div id='auto-center'></div>
    </body>
</html>

 

给你发的就是个html页面,把代码考出来,粘到txt上,然后保存成test.html就行。
然后你就自己把extjs核心包和css改成你那个包所在的路径就行,extjs3.0的。
或者你就直接放ext的那个文件夹同级目录下就行。
或者,你直接粘js代码

 

 html : '<iframe scrolling="auto" frameborder="0" width="100%" height="100%" src=b.jsp></iframe>'这个位置换成你的b.jsp就行了

追问
…………你回答过上次提过的问题…………贴了一样的代码…………但是…………这次的问题不是嵌套的事情啊……tabpanel是已经存在在b.jsp里了,所有tab的数据都做好放在b.jsp了
追答
额,嘿嘿,这样~~~
给b.jsp传参,b.jsp?a='1' 像这样,然后b.jsp里去根据传参,激活b.jsp里的TabPanel。
5renshuo
2013-06-15 · 超过55用户采纳过TA的回答
知道小有建树答主
回答量:295
采纳率:0%
帮助的人:160万
展开全部
点击的时候,触发事件在原来有的tabpanel中创建一个tab就行了
追问
求代码示例
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式