jQuery MiniUI

标题: 用miniui打开窗体的方式,子窗体如何获取父窗体某个控件的 [打印本页]

作者: ccrise    时间: 2013-7-8 16:16:33     标题: 用miniui打开窗体的方式,子窗体如何获取父窗体某个控件的

function miniopen(myUrl,myTitle,myWidth,myHeight)
        {
            mini.open({
                url: myUrl,
                title:myTitle,
                width:myWidth,
                height:myHeight,
                allowResize:false,
                allowDrag:true
            });
        }   用这个种方式打开的窗体,子窗体怎么获取父窗体的值,并且关闭子窗体,父窗体能刷新


页面不是用miniui的控件 创建的,都是普通的页面!

作者: factory    时间: 2013-7-8 17:15:54

1.在父窗体上写上一个方法,abc() 返回的是父窗体你想要获取的值

2.在子窗体中,通过 window.Owner.abc() 调用父窗体的方法来获取值。
window.CloseOwnerWindow();关闭子窗口
作者: ccrise    时间: 2013-7-8 17:45:42

factory 发表于 2013-7-8 17:15
1.在父窗体上写上一个方法,abc() 返回的是父窗体你想要获取的值

2.在子窗体中,通过 window.Owner.abc()  ...

我要在子窗体获取父窗体一个隐藏控件的值,然后改变这个值,子窗体关闭后在刷新父窗体
作者: ccrise    时间: 2013-7-8 17:50:15

ccrise 发表于 2013-7-8 17:45
我要在子窗体获取父窗体一个隐藏控件的值,然后改变这个值,子窗体关闭后在刷新父窗体 ...

function oper()
        {
            var val = document.getElementById("oper").value;
            alert(val);
        }  父窗体方法,


function isOK()
        {
            var val = document.all.isOK.value;
            if(val == "0")
            {}
            else
            {
                //var text = window.parent.document.getElementById("oper").value;
                //CloseWindow("cancel");
                //alert(text);
                window.Owner.oper();       子窗体调用,  报错
            }
        }
作者: factory    时间: 2013-7-9 09:22:46

ccrise 发表于 2013-7-8 17:50
function oper()
        {
            var val = document.getElementById("oper").value;

你的窗口是什么窗口?不是本页面的mini.window把?如果是本页面写死的mini,window,用这个方法肯定会报错,因为不属于跨页面
这个是跨页面的传递获取数据的方式。你报的错是什么错

作者: ccrise    时间: 2013-7-9 15:55:22

factory 发表于 2013-7-9 09:22
你的窗口是什么窗口?不是本页面的mini.window把?如果是本页面写死的mini,window,用这个方法肯定会报错 ...

我是A 页面通过(下面parent.miniopen("checkOper.aspx","效验控制密码","290","110");)打开的窗口B,B窗口就是普通窗口,不是用miniui 弄的窗口,我想通过B窗口得到A窗口<input type="text" id="oper" value="0" style="display:none;" />  这个空间的value值,然后改成1,接着B窗口关闭把A窗口能刷新下,我A窗口通过<input type="text" id="oper" value="0" style="display:none;" /> 这个值是0 还是1 来规定一个button按钮是否可用


/******打开窗口的方法********/
function miniopen(myUrl,myTitle,myWidth,myHeight)
        {
            mini.open({
                url: myUrl,
                title:myTitle,
                width:myWidth,
                height:myHeight,
                allowResize:false,
                allowDrag:true
            });
        }   用这个种方式打开的窗体,子窗体怎么获取父窗体的值,并且关闭子窗体,父窗体能刷新


作者: factory    时间: 2013-7-9 17:17:25

ccrise 发表于 2013-7-9 15:55
我是A 页面通过(下面parent.miniopen("checkOper.aspx","效验控制密码","290","110");)打开的窗口B,B ...

打开新窗口的话,最方便的是url传值
然后var obj = mini.getParams();
var id = obj.id

如果是mini.open这类iframe的话,按照我上面说的

作者: ccrise    时间: 2013-7-11 11:09:02

factory 发表于 2013-7-9 17:17
打开新窗口的话,最方便的是url传值
然后var obj = mini.getParams();
var id = obj.id

tree 控件加载完数据后,怎么默认选中第一个节点,(没有父节点)
作者: factory    时间: 2013-7-11 12:01:27

ccrise 发表于 2013-7-11 11:09
tree 控件加载完数据后,怎么默认选中第一个节点,(没有父节点)

第一个节点,没有父节点,肯定是第一层的节点了
var data = tree.getList();
var node = data[0];
tree.selectNode(node)
作者: ccrise    时间: 2013-7-11 13:24:05

factory 发表于 2013-7-11 12:01
第一个节点,没有父节点,肯定是第一层的节点了
var data = tree.getList();
var node = data[0];

var url="GetStationTreeHandler.ashx?iState=0&r="+Math.random().toString();
    $.get(url, function (data, status) {
            var obj = jQuery.parseJSON(data);
                var tree = mini.get("leftTree");
                tree.loadList(obj, "id", "pid");
                var list = tree.getList();
            var node = list[0];
            //tree.selectNode(node);
            alert(tree.selectNode(node));         选中不了,报错
    });
作者: factory    时间: 2013-7-11 14:03:00

ccrise 发表于 2013-7-11 13:24
var url="GetStationTreeHandler.ashx?iState=0&r="+Math.random().toString();
    $.get(url, functio ...

报什么错?你自己调试看看你获取到的node是否正确,或者数据加载是否正确




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