jQuery MiniUI

标题: mini.open 打开的子页面,怎么获取父页面的控件并赋值 [打印本页]

作者: zmm12    时间: 2013-11-27 12:15:10     标题: mini.open 打开的子页面,怎么获取父页面的控件并赋值

本帖最后由 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 直接报错 如下:
[attach]3299[/attach]







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

跨页面调用方法
作者: zmm12    时间: 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;就可以了吗?
作者: zmm12    时间: 2013-11-27 14:01:39

factory 发表于 2013-11-27 13:44
A页面: var top["win"] = window
function setValue(value){
    var o = mini.get(..);

按照你写的试了下  语法就错了
作者: felt    时间: 2013-11-27 14:31:09

你1楼的代码中
iframe.contentWindow.SetData(null);
var data = iframe.contentWindow.GetData();
SetData和GetData方法都需要你在子页面定义的,你定义了吗?
你可以看下我们试用包里的子页面代码
作者: zcx032001    时间: 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传的参数也行
作者: felt    时间: 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()
作者: zcx032001    时间: 2015-1-6 16:17:06

felt 发表于 2015-1-5 16:41
按照上面说的跨页面方法去获取
top["win"].mini.get(父页面mini-hidden控件的id).getValue() ...

这个top["win"] 需要再父页面写JS么?
作者: dforce    时间: 2015-1-6 16:22:30

zcx032001 发表于 2015-1-6 16:17
这个top["win"] 需要再父页面写JS么?

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




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