jQuery MiniUI

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

mini.open加载问题 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2017-4-24 18:56:38 |只看该作者 |倒序浏览
我通过页面选中一条记录触发url到后台取数据,这个是跳转方法 function edit() {            
            var row = grid.getSelected();         
            if (row) {
                    var fcodeid = row.FCODEID;
                mini.open({
                         url: "gscdd.cmd?method=ddforinsert&fcodeid="+fcodeid+"&type=update",
                    title: "编辑", width: 600, height: 400,
                    onload: function () {               
                    },
                    ondestroy: function (action) {
                        grid.reload();                     
                    }
                });            
            } else {
                alert("请选中一条记录");
            }            
        }


然后跳转的页面是一个带有表单和表格的页面,就是一个主从结构的页面,之后发现如果先执行SetData()后执行mini.parse()
会无法执行SetData()里的addrow方法,如果先执行mini.parse()后执行SetData()数据会被刷掉,这样如何解决?
新页面的JS:
1.        SetData();                                 
2.        mini.parse();
3.         var grid = mini.get("grid1");


        function SetData(){       
                if('<%=zbinfo%>'==null){       
                return;
                }
       
                var zbinfo = mini.decode('<%=zbinfo%>');
                var cbinfo = mini.decode('<%=cbinfo%>');
                var zbdata = zbinfo.data;
                var cbdata = cbinfo.data;
                if(zbdata!=null){
                        //alert(mini.encode(zbdata[0]))
                        var s = "";
                        for(var item in zbdata[0]){
                                var key = item;
                                var val = zbdata[0][item];
                                $("input[name='"+key+"']").val(val);
                               
                                }
                        if(cbdata!=null){
                                for(var i=0;i<cbdata.length;i++){
                                        addrow();
                                }  
                                       
                                }
                       
                }
                }



function addRow() {         
    var newRow = { name: "New Row" };

    grid.addRow(newRow, 0);

  //  grid.beginEditCell(newRow, "LoginName");
}

Rank: 8Rank: 8

沙发
发表于 2017-4-25 09:57:40 |只看该作者
在mini.open的onload时间里处理
这个事件在子页面加载完成之后触发,就是处理你这样的情况的
onload:function(){
                    var iframe = this.getIFrameEl();
                     var data = { action: "edit", id: row.id };
                    iframe.contentWindow.SetData(data);     //传递数据,调用子页面的SetData方法
}

Archiver|普加软件

GMT+8, 2024-7-3 00:32 , Processed in 1.063018 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部