窗口的各种传值在线演示示例(示例都使用的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里不用写任何代码
    

        

  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窗口' );
    });
    

        

  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();
    }
    

        

  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窗口的函数' );
    }
    

      

  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( '我是子窗口的函数' );
    }
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值