jQuery MiniUI

 找回密码
 立即注册
楼主: aqiang566971
打印 上一主题 下一主题

请问 在MenuBar 框架中如何打开新标签页 [复制链接]

Rank: 2

11#
发表于 2014-1-21 17:08:53 |只看该作者
felt 发表于 2014-1-21 17:06
你按钮所在的tab页面是url加载的子页面吗?

是的 属于子页面

Rank: 8Rank: 8

12#
发表于 2014-1-21 17:15:14 |只看该作者
aqiang566971 发表于 2014-1-21 17:08
是的 属于子页面

父页面定义
top["win"]=window
方法AddTab(tab){
      var tabs=mini.get("id");
      tabs.addTab(tab);
}
子页面按钮触发
top["win"].AddTab(tab)      //子页面直接调用父页面的方法,传入需要增加的tab的参数

Rank: 2

13#
发表于 2014-1-22 09:20:15 |只看该作者
本帖最后由 aqiang566971 于 2014-1-22 09:21 编辑
felt 发表于 2014-1-21 17:15
父页面定义
top["win"]=window
方法AddTab(tab){

父页代码        <script type="text/javascript">
        mini.parse();
                top["win"]=window;
        function addTab() {
                var tabs = mini.get("mainTabs");
                var id = "tab$" + node.id;
        var tab = tabs.getTab(id);
              tabs.addTab(tab);
                        }
    </script>

子页面代码
<input type="button" value="addTab"/>

Rank: 8Rank: 8

14#
发表于 2014-1-22 09:24:43 |只看该作者
aqiang566971 发表于 2014-1-22 09:20
父页代码       
        mini.parse();
                top["win"]=window;

就是跨页面调用方法

把你的一个页面放到top中,在另一个页面top获取页面对象,直接调用该页面对象的方法
就这样,具体看上面的代码

Rank: 2

15#
发表于 2014-1-22 09:28:29 |只看该作者
factory 发表于 2014-1-22 09:24
就是跨页面调用方法

把你的一个页面放到top中,在另一个页面top获取页面对象,直接调用该页面对象的方法

能帮忙修改下代码吗 我对JS 不太懂 多谢了

Rank: 8Rank: 8

16#
发表于 2014-1-22 09:58:49 |只看该作者
aqiang566971 发表于 2014-1-22 09:28
能帮忙修改下代码吗 我对JS 不太懂 多谢了

<input type="button" value="addTab" onclick="addT()"/>
function addT(参数){
    top["win"].addTab(参数)   //不知道你打开的tab是不是固定的,如果不是固定的要传参数过去
}

Rank: 8Rank: 8

17#
发表于 2014-1-22 10:00:00 |只看该作者
aqiang566971 发表于 2014-1-22 09:28
能帮忙修改下代码吗 我对JS 不太懂 多谢了

上面felt已经写了很清楚了,子页面如何调用父页面的AddTab()方法

Rank: 2

18#
发表于 2014-1-22 11:15:05 |只看该作者
felt 发表于 2014-1-22 09:58
function addT(参数){
    top["win"].addTab(参数)   //不知道你打开的tab是不是固定的,如果不是固定 ...

function addT(参数){
    top["win"].addTab(参数)   //不知道你打开的tab是不是固定的,如果不是固定的要传参数过去
}

这个代码 是放在父页面还是子页面

Rank: 8Rank: 8

19#
发表于 2014-1-22 11:17:43 |只看该作者
aqiang566971 发表于 2014-1-22 11:15
function addT(参数){
    top["win"].addTab(参数)   //不知道你打开的tab是不是固定的,如果不是固定的 ...

你button所在页面,这就是button clcik触发的事件

Rank: 2

20#
发表于 2014-1-22 11:22:02 |只看该作者
felt 发表于 2014-1-22 11:17
你button所在页面,这就是button clcik触发的事件

现在父页代码
  <script type="text/javascript">
        mini.parse();
        function showTab(node) {
            var tabs = mini.get("mainTabs");                       
            var id = "tab$" + node.id;
            var tab = tabs.getTab(id);
            if (!tab) {
                tab = {};
                tab.name = id;
                tab.title = node.text;
                tab.showCloseButton = true;

                //这里拼接了url,实际项目,应该从后台直接获得完整的url地址
                tab.url = node.path  + node.id + ".jsp";
                tabs.addTab(tab);
            }
            tabs.activeTab(tab);

        }
        function onItemClick(e) {        
            var item = e.item;
            var isLeaf = e.isLeaf;
            if (isLeaf) {
                showTab(item);
            }            
        }
    </script>
现在 子页面代码

<script language="JavaScript">
function addT(){
    top["win"].addTab()   //不知道你打开的tab是不是固定的,如果不是固定的要传参数过去
}
</script>
<input type="button" value="addTab" onclick="addT();"/>

有什么问题吗!

Archiver|普加软件

GMT+8, 2025-7-14 13:10 , Processed in 1.052991 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部