基本的传值示例
-
将调用页面的值传到窗口中
// 这是运行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里不用写任何代码
-
将窗口中的值传回到调用页面中
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(); }
特殊的传值示例
-
在调用页面调用窗口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窗口中调用调用页面的值或函数
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(); }); });
-
在调用页面调用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窗口中调用调用页面中的值或函数
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(); }); });
-
在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窗口的函数' ); }
-
在父窗口和子窗口之间相互调用函数和传值(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( '我是子窗口的函数' ); }