jQuery MiniUI

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

如何清空portal中的panels? [复制链接]

Rank: 1

跳转到指定楼层
楼主
发表于 2012-7-25 11:25:11 |只看该作者 |倒序浏览
本帖最后由 hero2964 于 2012-7-25 11:32 编辑

界面采用portal来展示数据,定时每分钟发Ajax到后台从数据库取数据5条
问题:每次取出的数据都是累加到portal中的,需要每次绑定portal前清空portal中的panels
尝试:
alert(portal.panels.length);   //监视后,每次为5
采用 portal.panels.length =0;  清空无效


清空呈现portal的层,也无效
document.getElementById("msgDiv").innerHTML = "";


设置portal对象的panels数组为空数组  无效   
portal.setPanels([]);

以上三种尝试均无效,依然每次绑定重复累加

前台代码如下:
//Portal
        $(function () {
            portal = new mini.ux.Portal();
            portal.set({
                style: "width: 200px;height:300px",
                columns: ["200"]
            });
            portal.render(document.getElementById("msgDiv"));
            setInterval("loadMsg()", 5000);
            //loadMsg();
        });

function loadMsg() {
            //在这里清空portal
            //document.getElementById("msgDiv").innerHTML = "";   //尝试清空呈现portal层的HTML  无效
            //portal.panels.length =0; //尝试将portal的panels数组元素清空  无效  监视portal.panels.length  值为5,说明数组获取成功

            //portal.setPanels([]); //设置portal对象的panels数组为空数组 无效
            $.ajax({
                url: "Server/ServerHandler.ashx?type=loadMsg",
                type: "post",
                success: function (msg) {
                    portal.setPanels(mini.decode(msg));
                  
                    //alert(mini.decode(msg));
                    //alert(portal.panels.length);
                    //mini.hideMessageBox(msgId);
                },
                error: function (jqXHR, textStatus, errorThrown) {
                    alert(jqXHR.responseText);
                }
            });
        }


Rank: 8Rank: 8

沙发
发表于 2012-7-25 12:37:14 |只看该作者
先获取所有的panel,然后再遍历删除
var panels = portal.getPanels();
    for(var i=panels.length-1;i>=0;i--){
        portal.removePanel(panels[i]);
    }

Archiver|普加软件

GMT+8, 2024-11-26 06:44 , Processed in 1.064094 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部