窗口的各种传值在线演示示例(示例都使用的page参数,内容页中的代码最好打开相应的内容页查看)
基本的传值示例
-
将调用页面的值传到窗口中
// 这是运行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»
-
将窗口中的值传回到调用页面中
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窗口中文本框的值» 调用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窗口中文本框的值» 调用C窗口的函数»
-
在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窗口的函数' );
}窗口A» 窗口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( '我是子窗口的函数' );
}运行»