jQuery MiniUI

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

mini.open 打开的子页面,怎么获取父页面的控件并赋值 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2013-11-27 12:15:10 |只看该作者 |倒序浏览
本帖最后由 zmm12 于 2013-11-27 12:29 编辑

mini.open({
        url: "/test/testpage",
        title: "测试选择",      //标题
        iconCls: "icon-node",    //标题图标
        width: 800,      //宽度
        height: 400,     //高度
        allowResize: false,       //允许尺寸调节
        allowDrag: true,         //允许拖拽位置
        showCloseButton: true,   //显示关闭按钮
        showMaxButton: false,     //显示最大化按钮
        showModal: true,         //显示遮罩
        onload: function () {
            var iframe = this.getIFrameEl();
            iframe.contentWindow.SetData(null);
        },
        ondestroy: function (action) {
            if (action == "ok") {
                var iframe = this.getIFrameEl();

                var data = iframe.contentWindow.GetData();
                data = mini.clone(data);

                selectvenueinfo.setValue(data.id);
                selectvenueinfo.setText(data.text);
            }
        }
    });     


因为从子页面选择的数据比较复杂
1:两个GridData,A_GridData 选择的是ID
2:B_GridData 选择的是当前一行的所有数据,比如 名字,年龄,性别
3:选择完后要把选择的信息赋值给父页面的两个控件
4:<input id="selectvenueinfo" name="selectvenueinfo" class="mini-buttonedit" style="width:200px;"/> 控件  存放B_GridData选择的数据
5:<input type="hide" id="hideVenueInfo" value="" class="mini-hidden"/>控件 存放A_GridData 选择的数据



按照实例Demo 直接报错 如下:







附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 8Rank: 8

沙发
发表于 2013-11-27 13:44:00 |只看该作者
本帖最后由 factory 于 2014-9-4 09:28 编辑

A页面: top["win"] = window
function setValue(value){
    var o = mini.get(..);
    o.setValue(value)
}

B页面: top["win"].setValue(BValue);

跨页面调用方法

Rank: 2

板凳
发表于 2013-11-27 13:51:25 |只看该作者
factory 发表于 2013-11-27 13:44
A页面: var top["win"] = window
function setValue(value){
    var o = mini.get(..);

var top["win] = window      是什么意思?

js  声明变量 不是 直接  var w = window;就可以了吗?

Rank: 2

地板
发表于 2013-11-27 14:01:39 |只看该作者
factory 发表于 2013-11-27 13:44
A页面: var top["win"] = window
function setValue(value){
    var o = mini.get(..);

按照你写的试了下  语法就错了

Rank: 8Rank: 8

5#
发表于 2013-11-27 14:31:09 |只看该作者
你1楼的代码中
iframe.contentWindow.SetData(null);
var data = iframe.contentWindow.GetData();
SetData和GetData方法都需要你在子页面定义的,你定义了吗?
你可以看下我们试用包里的子页面代码

Rank: 2

6#
发表于 2015-1-5 16:31:50 |只看该作者
factory 发表于 2013-11-27 13:44
A页面: top["win"] = window
function setValue(value){
    var o = mini.get(..);

你好,请问 子页面如何获得父页面mini-hidden 的值啊,或者能获得到mini.open url传的参数也行

Rank: 8Rank: 8

7#
发表于 2015-1-5 16:41:35 |只看该作者
zcx032001 发表于 2015-1-5 16:31
你好,请问 子页面如何获得父页面mini-hidden 的值啊,或者能获得到mini.open url传的参数也行 ...

按照上面说的跨页面方法去获取
top["win"].mini.get(父页面mini-hidden控件的id).getValue()

Rank: 2

8#
发表于 2015-1-6 16:17:06 |只看该作者
felt 发表于 2015-1-5 16:41
按照上面说的跨页面方法去获取
top["win"].mini.get(父页面mini-hidden控件的id).getValue() ...

这个top["win"] 需要再父页面写JS么?

Rank: 8Rank: 8

9#
发表于 2015-1-6 16:22:30 |只看该作者
zcx032001 发表于 2015-1-6 16:17
这个top["win"] 需要再父页面写JS么?

看2楼,需要定义top["win"]=window

Archiver|普加软件

GMT+8, 2024-11-25 08:22 , Processed in 1.033784 second(s), 11 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部