需求:最外面列表界面點修改彈出LayerA界面,再點擊LayerA界面中的選擇地圖坐標按鈕彈出LayerB地圖界面
這個過程涉及到的:
1:LayerA將坐標傳給LayerB,LayerB在地圖上顯示坐標。
2:LayerB選完坐標點擊確定后,地圖關閉,LayerB將坐標傳回LayerA

列表界面點擊修改按鈕彈出LayerA界面

LayerB界面點擊彈出地圖事件

LayerB地圖界面點擊確定傳值給LayerA

1:LayerA與LayerB是什么關系?
兄弟關系,如果是父子關系,子的頁面會嵌套在父頁面里,無法實現子頁面比父頁面大
關鍵代碼:
parent.layer.open(options);//點擊LayerB按鈕時,以兄弟頁面的形式彈出
2:如何將LayerB地圖上坐標的值傳給LayerA
監聽地圖,將點擊的坐標傳給頁面上的一個label保存,在提交的時候讀取labael,並通過jq的以id來拿到frame元素的方式,將label的值賦值給兄弟頁面的一個文本框里。
關鍵代碼:
var i = $("#lb1").val();
$(parent.frames["Form"].document).find("#AreaPoint").val(i);//LayerB的Frame的id 叫Form,事先在layer的id屬性里定義過了
var index = parent.layer.getFrameIndex(window.name);//獲取當前頁面的name 即HomePeopleForm 都是通過父頁面(即列表頁)來操作子頁面里的元素
parent.layer.close(index);
