編輯彈窗 → 點擊「部門」 → 彈出部門樹彈窗 → 選中部門後需將值回填到編輯彈窗。兩個 Dialog 通常以 iframe 形式嵌套。
// 子彈窗(部門樹)選中後,回填父彈窗(編輯頁)
// 方式 1:直接操作父頁 DOM(同域下)
window.parent.document.getElementById('deptInput').value = selectedDeptName;
window.parent.document.getElementById('deptId').value = selectedDeptId;
closeDialog(); // 關閉子彈窗
// 方式 2:父頁暴露回調函數(推薦,解耦)
// 父頁:
window.setDeptCallback = function(name, id) {
$('#deptInput').val(name);
$('#deptId').val(id);
};
// 子頁:
window.parent.setDeptCallback(selectedDeptName, selectedDeptId);
diag.innerFrame.contentWindow.document.getElementById("") 是從父頁獲取子 iframe 內部元素的語法,適用於父頁主動拉取數據的場景。
postMessage。
