现实开发中难免会遇到子页面、父页面相互操作的情况,由于时不时地会遇到几次(不是一次),所以就整理了一下父子页面相互相互调用常见的九种情况,作为自己的备忘录,同时也希望对大家有帮助。
一、子页面C1操作父页面P(下述三个方法写在子页面C1中)
//获取父页面P中控件的值, btnParent1是子页面C1中的按钮
$("#btnParent1").click(function () {
var pageId = $("#pageId", parent.document).val();
alert("父页面的pageId=" + pageId);
});
//调用父页面P中的方法, btnParent2是子页面C1中的按钮
$("#btnParent2").click(function () {
parent.HomeRun();
});
//触发父页面P中按钮的点击事件, btnParent3是子页面C1中的按钮
$("#btnParent3").click(function () {
$("#btnShow", parent.document).click();
});
二、子页面C1操作兄弟页面C2(下述三个方法写在子页面C1中)
//获取兄弟页面C2中控件的值, btnSiblings1是子页面C1中的按钮
$("#btnSiblings1").click(function () {
var sibling = parent.document.getElementById("Sys_UserManage_Index").contentWindow;
var pageId = sibling.$("#pageId").val();
alert("兄弟页面的pageId=" + pageId);
});
//调用兄弟页面C2中的方法, btnSiblings2是子页面C1中的按钮
$("#btnSiblings2").click(function () {
var sibling = parent.document.getElementById("Sys_UserManage_Index").contentWindow;
sibling.UserManageRun();
});
//触发兄弟页面C2中按钮的点击事件, btnSiblings3是子页面C1中的按钮
$("#btnSiblings3").click(function () {
var sibling = parent.document.getElementById("Sys_UserManage_Index").contentWindow;
var pageId = sibling.$("#btnShow").click();
});
三、父页面P操作子页面C1(下述三个方法写在父页面P中)
//获取子页面C1中控件的值, btnChild1是父页面P中的按钮
$("#btnChild1").click(function () {
var child = $("#Sys_UserManage_Index").contents();
var pageId = child.find("#pageId").val();
alert("子页面的pageId=" + pageId);
});
//调用子页面C1中的方法, btnChild2是父页面P中的按钮
$("#btnChild2").click(function () {
var child = $("#Sys_UserManage_Index")[0].contentWindow;
child.UserManageRun();
});
//触发子页面C1中按钮的点击事件, btnChild3是父页面P中的按钮
$("#btnChild3").click(function () {
var child = $("#Sys_UserManage_Index").contents();
child.find("#btnShow").click();
});
如果大家看完之后觉得对自己有帮助,请点赞或留言鼓励下,谢谢!