jQuery MiniUI

 找回密码
 立即注册
查看: 3792|回复: 7
打印 上一主题 下一主题

tab 加载问题 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2012-12-11 10:04:14 |只看该作者 |倒序浏览
我的问题是这样的,上面是一个grid,下面是多个tab,选中上面的gird下面的tabs里面的页面刷新。
function onSelectionChanged(e) {
        var grid = e.sender;
        var record = grid.getSelected();
        var cid = -1;
        if (record) {
            cid = record.ContractID;
        }
        var tabs1 = mini.get("tabs1");
        var tabs = tabs1.getTabs();
        $(tabs).each(function (i, tab) {
            switch (tab.title) {
                case "合同设备":
                    tab.url = "/ContractEquipment/index?id=" + cid;
                    tabs1.activeTab(tab);
                    //                                tabs1.reloadTab(tab);
                    break;
                case "合同文件":
                    tab.url = "/ContractAnnex/index?id=" + cid;
                    tabs1.reloadTab(tab);
                    break;
                default:
                    tab.url = "/ContractAccount/index?id=" + cid;
                    tabs1.reloadTab(tab);
                    break;
            }
        })
    }
这是我的代码,可是页面第一次加载的时候第一个tab是空的,只有我切换一下tabs,就可以了

Rank: 8Rank: 8

沙发
发表于 2012-12-11 10:28:22 |只看该作者
var tabs = mini.get("tabs1");
var tab = tabs.getActiveTab();
tabs.loadTab ("pages/page5.html",tab);

用loadTab ( url, tab, onTabLoad, onTabDestroy )来做

Rank: 2

板凳
发表于 2012-12-11 11:39:43 |只看该作者
factory 发表于 2012-12-11 10:28
var tabs = mini.get("tabs1");
var tab = tabs.getActiveTab();
tabs.loadTab ("pages/page5.html",tab);

你说的这个只能加一个tab,我是多个tab。
这个方法不可行

Rank: 8Rank: 8

地板
发表于 2012-12-11 12:09:50 |只看该作者
Nicola 发表于 2012-12-11 11:39
你说的这个只能加一个tab,我是多个tab。
这个方法不可行

要加多个tab有现成demo的:http://www.miniui.com/demo/tree/navtree.html
参考这个

Rank: 2

5#
发表于 2012-12-11 12:32:35 |只看该作者
本帖最后由 Nicola 于 2012-12-11 13:22 编辑
factory 发表于 2012-12-11 12:09
要加多个tab有现成demo的:http://www.miniui.com/demo/tree/navtree.html
参考这个


我的意思是这个样子的

这个是我页面第一次加载的时候合同设备这个页面没有加载上。
当我点击合同文件后在点击合同设备如图所示

这是什么原因?
代码
这个是图片上最上面的grid的事件
  function onSelectionChanged(e) {
        var grid = e.sender;
        var record = grid.getSelected();
        var cid = -1;
        if (record) {
            cid = record.ContractID;
        }
        var tabs1 = mini.get("tabs1");
        var tabs = tabs1.getTabs();
        $(tabs).each(function (i, tab) {
            switch (tab.title) {
                case "合同设备":
                    tab.url = "/ContractEquipment/index?id=" + cid;
                      tabs1.activeTab(tab);
                    tabs1.reloadTab(tab);
                    break;
                case "合同文件":
                    tab.url = "/ContractAnnex/index?id=" + cid;
                    tabs1.reloadTab(tab);
                    break;
                default:
                    tab.url = "/ContractAccount/index?id=" + cid;
                    tabs1.reloadTab(tab);
                    break;
            }
        })
    }
附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 8Rank: 8

6#
发表于 2012-12-11 13:34:47 |只看该作者
Nicola 发表于 2012-12-11 12:32
我的意思是这个样子的

这个是我页面第一次加载的时候合同设备这个页面没有加载上。

function selectionchanged(e){
            var tabs = mini.get("tabs1");
            var url ="pages/1.htm";             //默认第一个选项卡的URL
            var tabs1 = tabs.getTabs();
            tabs.loadTab(url,tabs[0]);           //默认加载第一个tab选项卡
            tabs.on("activechanged",function(e){
                 switch (e.tab.title){
                    case "Tab1":
                    url ="pages/1.htm";
                    tabs.loadTab(url,e.tab)
                      break;
                case "Tab2":
                    url ="pages/2.htm";
                    tabs.loadTab(url,e.tab)
                    break;
                }
            })
        }

Rank: 2

7#
发表于 2012-12-11 14:05:22 |只看该作者
factory 发表于 2012-12-11 13:34
function selectionchanged(e){
            var tabs = mini.get("tabs1");
            var url ="page ...

你说的这个我知道,我以前用其他控件做就是这个原理,其实我就想一次性加载上去,看来是实现不了

Rank: 8Rank: 8

8#
发表于 2012-12-11 14:18:20 |只看该作者
Nicola 发表于 2012-12-11 14:05
你说的这个我知道,我以前用其他控件做就是这个原理,其实我就想一次性加载上去,看来是实现不了 ...

function selectionchanged(e){
            var tabs = mini.get("tabs1");
            var tabs1 = [
                {title:"Tab11",url:"pages/1"+cid+".htm"},
                {title:"Tab22",url:"pages/2"+cid+".htm"},
                {title:"Tab33",url:"pages/3"+cid+".htm"}
            ]
            tabs.setTabs(tabs1);
}

Archiver|普加软件

GMT+8, 2024-11-27 05:24 , Processed in 1.049343 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部