jQuery MiniUI

标题: 如何清空portal中的panels? [打印本页]

作者: hero2964    时间: 2012-7-25 11:25:11     标题: 如何清空portal中的panels?

本帖最后由 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);
                }
            });
        }



作者: factory    时间: 2012-7-25 12:37:14

先获取所有的panel,然后再遍历删除
var panels = portal.getPanels();
    for(var i=panels.length-1;i>=0;i--){
        portal.removePanel(panels[i]);
    }




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