把easyDialog v2.0这个插件加入到了项目中,在做选择部门功能时运用这个插件,在easyDialog.open里面的content函数中套了一个iframe标签,把部门页面的地址放入到src中
<iframe id="iframe" src="<%=basePath %>admin/login/deptno" frameborder="no" border="0" height="240"></iframe>,这样当我们点击部门文本框时就换弹出一个包含部门列表的alert页面。
遇到的问题:1、当子页面向父页面传值时不知道怎么传值?
解决方法:在子页面定义两个变量,id和name,然后在ztree的插件的初始化方法中对这两个变量进行赋值
子页面运用了ztree插件,下面这个方法是ztree的初始化放中的一部分。
callback: {
 onClick: function(event, treeId, treeNode){
					id = treeNode.id;
					name = treeNode.name;
					
				}
			},
最后在父页面中通过jquert把子页面上的值取过来,父页面js代码如下:
$(function(){
				
				var btnFn = function( e ){
					var cwin=document.getElementById("iframe").contentWindow;
					var id=cwin.id; //取子页面的值
					var name = cwin.name;
					//var deptnoname = document.getElementById("demoBtn1").value(name);
					$("#demoBtn1").val(name);//把取过来的值赋予父页面上的input属性中
					$("#deptnoId").val(id);
					//alert(name);
					return true;
				};
				$(‘#demoBtn1‘).click( function(){
					easyDialog.open({
						container : {
							header : ‘选择部门‘,
							content : ‘<iframe id="iframe" src="<%=basePath %>admin/login/deptno" frameborder="no" border="0" height="240"></iframe>‘,
							yesFn : btnFn,
							noFn : true,
							
						},
						fixed : false
					});
				});
			});
当我在点击alert的确认按钮就可以把子页面的部门id和name都取到父页面,然后赋值在input框中。
原文:http://www.cnblogs.com/liaoyanglong/p/6123319.html