`

窗口的各种传值在线演示示例(示例都使用的page参数,内容页中的代码最好打开相应的内容页查看)

    博客分类:
  • JS
阅读更多

 

窗口的各种传值在线演示示例(示例都使用的page参数,内容页中的代码最好打开相应的内容页查看)

基本的传值示例

  1. 将调用页面的值传到窗口中

    // 这是运行1按钮使用的方法
    J
    ('#btn1').dialog({ id:'test1', page:'content.html' });

    // content.html里的代码为:(这里注意content.html也加载了lhgcore.min.js文件)
    var DG = frameElement.lhgDG;
    J
    (function(){
        J
    ('#val').html( J('#txt1',DG.curDoc).val() );
    });

    // 这是运行2按钮使用的方法
    function opdg1()
    {
       
    var DG = new J('#btn2').dialog({
            id
    :'test2',
            page
    :'content1.html',
            dgOnLoad
    : function(){
                J
    ('#val',DG.dgDoc).html( J('#txt1').val() );
           
    }
       
    });
        DG
    .ShowDialog();
    }
    //使用第2种方法content1.html里不用写任何代码

      运行1»  运行2»

  2. 将窗口中的值传回到调用页面中

    J('#btn3').dialog({ id:'test3', page:'content2.html' });

    // content2.html里的代码为:(这里注意content2.html也加载了lhgcore.min.js文件)
    var DG = frameElement.lhgDG;
    DG
    .addBtn( 'ok', '确定', ok );
    function ok()
    {
        J
    ('#txt2',DG.curDoc).val( J('#val').html() );
        DG
    .cancel();
    }

      运行»

特殊的传值示例

  1. 在调用页面调用窗口B中的值或函数

    var DG = J('#btn4').dialog({ id:'test4', page:'content3.html', title:'B窗口' });

    // 调用B窗口中文本框的值的按钮的代码
    J
    ('#btn5').bind( 'click', function(){
       
    if( DG.dg )
            alert
    ( J('#inp',DG.dgDoc).val() );
       
    else
            alert
    ( '请先打开B窗口' );
    });

    // 调用B窗口的函数的按钮的代码
    J
    ('#btn6').bind( 'click', function(){
       
    if( DG.dg )
            DG
    .dgWin.BB();
       
    else
            alert
    ( '请先打开B窗口' );
    });

    运行»  调用B窗口中文本框的值»  调用B窗口的函数»

  2. 在B窗口中调用调用页面的值或函数

    J('#btn7').dialog({ id:'test7', page:'content4.html', title:'B窗口' });

    // 内容页content4.html的代码为:(这里注意content4.html也加载了lhgcore.min.js文件)
    var DG = frameElement.lhgDG;
    J
    (function(){
        J
    ('#btn1').bind( 'click', function(){
            alert
    ( J('#txt3',DG.curDoc).val() );
       
    });
           
        J
    ('#btn2').bind( 'click', function(){
            DG
    .curWin.AA();
       
    });
    });

      运行»

  3. 在调用页面调用C窗口(也就是B窗口的子窗口)的值或函数

    var DG1 = J('#btn8').dialog({ id:'test8', page:'content5.html', title:'B窗口' });

    // 调用C窗口中文本框的值的按钮的代码
    J
    ('#btn9').bind( 'click', function(){
       
    if( DG1.dg && DG1.dgWin.testDG )
            alert
    ( J('#inp',DG1.dgWin.testDG.dgDoc).val() );
       
    else
            alert
    ( '请先打开C窗口' );
    });

    // 调用C窗口的函数的按钮的代码
    J
    ('#btn10').bind( 'click', function(){
       
    if( DG1.dg && DG1.dgWin.testDG )
            DG1
    .dgWin.testDG.dgWin.CC();
       
    else
            alert
    ( '请先打开C窗口' );
    });

    // 内容页content5.html中的代码:
    var DG = frameElement.lhgDG, testDG;

    function opchild()
    {
        testDG
    = new DG.curWin.J.dialog({
            id
    : 'child1',
            page
    : 'content6.html'
       
    });
        testDG
    .ShowDialog();
    }

    运行»  调用C窗口中文本框的值»  调用C窗口的函数»

  4. 在C窗口中调用调用页面中的值或函数

    J('#btn11').dialog({ id:'test11', page:'content7.html', title:'B窗口' });

    // 内容页content7.html中的代码:
    var DG = frameElement.lhgDG, testDG;

    function opchild()
    {
        testDG
    = new DG.curWin.J.dialog({
            id
    : 'child1',
            page
    : 'content8.html'
       
    });
        testDG
    .ShowDialog();
    }

    // 内容页content8.html中的代码:
    var DG = frameElement.lhgDG;

    J
    (function(){
        J
    ('#btn1').bind( 'click', function(){
            alert
    ( J('#txt4',DG.curDoc).val() );
       
    });
           
        J
    ('#btn2').bind( 'click', function(){
            DG
    .curWin.AA();
       
    });
    });

      运行»

  5. 在2个窗口中相互调用函数和传值(3.4.1版本新增)

    // A窗口的代码
    J
    ('#btn12').dialog({ id:'test12', page:'content9.html', title:'A窗口' });

    // A窗口中内容页content9.html中的代码
    var DG = frameElement.lhgDG;
    J
    (function(){
        J
    ('#btn1').bind( 'click', function(){
           
    // test13是B窗口的id
                   
    if( DG.iDG('test13') )
                alert
    ( DG.iDoc('test13').getElementById('inpB').value );
               
    // 也可以使用jQ方式来写
               
    // alert( J('#inpB',DG.iDoc('test13')).val() );
           
    else
                alert
    ( '请先打开B窗口' );
       
    });
        J
    ('#btn2').bind( 'click', function(){
           
    if( DG.iDG('test13') )
                DG
    .iWin('test13').fnB();
           
    else
                alert
    ( '请先打开B窗口' );
       
    });
        J
    ('#btn3').bind( 'click', function(){
           
    if( DG.iDG('test13') )
                DG
    .iWin('test13').DG.cancel();
           
    else
                alert
    ( '请先打开B窗口' );
       
    });
    });
    function fnA()
    {
        alert
    ( '我是A窗口的函数' );
    }

    // B窗口的代码
    J
    ('#btn13').dialog({ id:'test13', page:'content10.html', title:'B窗口' });

    // B窗口中内容页content10.html中的代码
    var DG = frameElement.lhgDG;
    J
    (function(){
        J
    ('#btn1').bind( 'click', function(){
           
    // test12是A窗口的id        
                   
    if( DG.iDG('test12') )
                alert
    ( DG.iDoc('test12').getElementById('inpA').value );
               
    // 也可以使用jQ方式来写
               
    // alert( J('#inpA',DG.iDoc('test12')).val() );
           
    else
                alert
    ( '请先打开A窗口' );
       
    });
        J
    ('#btn2').bind( 'click', function(){
           
    if( DG.iDG('test12') )
                DG
    .iWin('test12').fnA();
           
    else
                alert
    ( '请先打开A窗口' );
       
    });
        J
    ('#btn3').bind( 'click', function(){
           
    if( DG.iDG('test12') )
                DG
    .iWin('test12').DG.cancel();
           
    else
                alert
    ( '请先打开A窗口' );
       
    });
    });
    function fnB()
    {
        alert
    ( '我是B窗口的函数' );
    }

    窗口A»  窗口B»

  6. 在父窗口和子窗口之间相互调用函数和传值(3.4.1版本新增)

    // 父窗口的代码
    J
    ('#btn14').dialog({ id:'test14', page:'content11.html', title:'父窗口', cover:true });

    // 父窗口中内容页content11.html中的代码
    var DG = frameElement.lhgDG;
    J
    (function(){
        J
    ('#btn1').bind( 'click', function(){
           
    // child是子窗口的id
           
    if( DG.iDG('child') )
                alert
    ( DG.iDoc('child').getElementById('inpB').value );
               
    // 也可以使用jQ方式来写
               
    // alert( J('#inpB',DG.iDoc('child')).val() );
           
    else
                alert
    ( '请先打开子窗口' );
       
    });
           
        J
    ('#btn2').bind( 'click', function(){
           
    if( DG.iDG('child') )
                DG
    .iWin('child').fnB();
           
    else
                alert
    ( '请先打开子窗口' );
       
    });
    });
    function fnA()
    {
        alert
    ( '我是父窗口的函数' );
    }
    // 打开子窗口的代码
    function opchild()
    {
       
    var childDG = new DG.curWin.J.dialog({ id:'child', title:'子窗口', page:'content12.html',parent:DG });
        childDG
    .ShowDialog();
    }

    // 子窗口中内容页content12.html中的代码
    var DG = frameElement.lhgDG;
    J
    (function(){
        J
    ('#btn1').bind( 'click', function(){
           
    // test14是父窗口的id
           
    if( DG.iDG('test14') )
                alert
    ( DG.iDoc('test14').getElementById('inpA').value );
               
    // 也可以使用jQ方式来写
               
    // alert( J('#inpA',DG.iDoc('test14')).val() );
           
    else
                alert
    ( '请先打开父窗口' );
           
    });
           
        J
    ('#btn2').bind( 'click', function(){
           
    if( DG.iDG('test14') )
                DG
    .iWin('test14').fnA();
           
    else
                alert
    ( '请先打开父窗口' );
       
    });
    });
    function fnB()
    {
        alert
    ( '我是子窗口的函数' );
    }

    运行»

分享到:
评论
1 楼 步青龙 2012-06-04  
你好,可以把在父窗口和子窗口之间相互调用函数和传值(3.4.1版本新增)
详细代码看下吗?多谢

相关推荐

Global site tag (gtag.js) - Google Analytics