1.需求說明:在打開的子頁面中調用父頁面中的元素,並將在子頁面中的選取的值賦值給父頁面中的input輸入框。
2.方法說明:
2.1 賦值給easyUI文本框:
$("#id").textbox("setValue",xxx);
PS:easyUI**不支持**document.getElementById("id").textbox("setValue",xxx);
2.2 調轉至子頁面:
window.showModalDialog(sURL,vArguments,sFeatures);
sURL:必選參數,類型:字符串。用來指定子頁面的URL。
vArguments:可選參數,類型:變體。用來向子頁面傳遞參數。傳遞的參數類型不限,包括數組等。對話框通過 window.dialogArguments來取得傳遞進來的參數。
sFeatures:可選參數,類型:字符串。用來描述子頁面的外觀等信息,可以使用以下的一個或幾個,用分號“;”隔開。
常用參數有:
- dialogHeight: 對話框高度,不小於100px
- dialogWidth: 對話框寬度。
- dialogLeft: 離屏幕左的距離。
- dialogTop: 離屏幕上的距離。
- center: { yes | no | 1 | 0 } : 是否居中,默認yes,但仍可以指定高度和寬度。
- help: {yes | no | 1 | 0 }: 是否顯示幫助按鈕,默認yes。
- resizable: {yes | no | 1 | 0 } [IE5+]: 是否可被改變大小。默認no。
- status: {yes | no | 1 | 0 } [IE5+]: 是否顯示狀態欄。默認爲yes[ Modeless]或no[Modal]。
- scroll: { yes | no | 1 | 0 | on | off }:是否顯示滾動條。默認爲yes。
2.3 父子頁面傳值
有很多種方法,只寫幾種常用的
- 1.用一個變量來獲取子頁面傳過來的參數。
- 父頁面:
- var ret=showModalDialog("url",window,"dialogHeight=600px;dialogWidth=400px");
- 子頁面:
- window.returnValue = xxx;//用xxx變量來接受想要傳回的參數,這樣ret即等於xxx。父子頁面傳值結束。
-
- 2. 直接在子頁面中調用父頁面中的元素、id之類的
- 父頁面:
- < input id="bbb" type="text" value="Hello"/>
- js部分:
- `showModalDialog(“‘url’+?bbb=”+bbb,window,”dialogHeight=300px;dialogWidth=400px”);//將bbb值傳給子頁面
-
- 子頁面:
- window.dialogArguments.document.getElementById(“${bbb}”).value=”xxxxx”;
-
- 3.待補^_^
-
3.具體代碼:
父頁面:
js部分:
//跳轉至所屬部門樹
var deptbudget_basedata_width = 500;
var deptbudget_basedata_height = 400;
function departscelet(){
var objId = "tempfileDepartment";
var objName = "tempfileDepartmentName";
var URLStr = scriptroot+"/archive/archivefolder/archiveFolder!orgtree.action?objId="+objId+"&objName="+objName+"&moduletype=pige";
var sty="dialogWidth:"+deptbudget_basedata_width+"px;dialogHeight:"+deptbudget_basedata_height+"px;status:no";
showModalDialog(URLStr, window, sty);
//console.log(objId+"--------"+objName);
}
html部分:
<div class="kp kp_perc50 clearfix">
<div class="kLeft w84"><i>*</i>所屬部門:</div>
<input id="tempfileDepartment" name="model.tempfileDepartment" type="hidden" value="${model.tempfileDepartment}">
<div class="kRight marginl92">
<div class="w254">
<input class="easyui-textbox" type="text" id="tempfileDepartmentName" name="tempfileDepartmentName"
readonly="readonly" value="${tempfileDepartmentName}">
</div>
<div class="kRight_r kRight_r_depar lh34">
<a href="#" class="wbttnC wlookbttn" name="gorscelet" onclick="departscelet()" value="選 擇">選擇</a>
</div>
</div>
</div>
子頁面:
window.dialogArguments.document.getElementById("${objId}").value=checkid;
//window.dialogArguments.document.getElementById("${objName}").textbox("setValue","22");
window.dialogArguments.$("#${objName}").textbox("setValue",checkvalue);