jQuery MiniUI

标题: tab 加载问题 [打印本页]

作者: Nicola    时间: 2012-12-11 10:04:14     标题: tab 加载问题

我的问题是这样的,上面是一个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,就可以了

作者: factory    时间: 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 )来做
作者: Nicola    时间: 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。
这个方法不可行
作者: factory    时间: 2012-12-11 12:09:50

Nicola 发表于 2012-12-11 11:39
你说的这个只能加一个tab,我是多个tab。
这个方法不可行

要加多个tab有现成demo的:http://www.miniui.com/demo/tree/navtree.html
参考这个
作者: Nicola    时间: 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
参考这个


我的意思是这个样子的
[attach]1077[/attach]
这个是我页面第一次加载的时候合同设备这个页面没有加载上。
当我点击合同文件后在点击合同设备如图所示
[attach]1078[/attach]
这是什么原因?
代码
这个是图片上最上面的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;
            }
        })
    }

作者: factory    时间: 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;
                }
            })
        }


作者: Nicola    时间: 2012-12-11 14:05:22

factory 发表于 2012-12-11 13:34
function selectionchanged(e){
            var tabs = mini.get("tabs1");
            var url ="page ...

你说的这个我知道,我以前用其他控件做就是这个原理,其实我就想一次性加载上去,看来是实现不了
作者: factory    时间: 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);
}




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2