近期項目中,使用easyui制作了兩個頁面,其中A頁面會彈出B頁面,但是A頁面會傳遞參數至B頁面,在接收傳遞參數時,出現了一個小的波折
經過看API發現
dialog的功能是將B頁面嵌入至A頁面,這樣,A頁面作為B頁面的父容器,所有的元素均可以被B頁面訪問
所以,之前的通過js獲取頁面參數方法就不適用了,因為B頁面在js端獲取的href實際上為A頁面的href
那么問題來了:我怎么獲取B頁面的鏈接參數呢?
其實很簡單,只要找到B頁面的存放容器即可:
代碼如下:
頁面A代碼:

1 //詳情查看 2 function goToDetail(val) { 3 //var url = '../Stock/CheckInventory/RandomCheckInventoryDetail.html?checksysno=' + val; 4 var url = 'RandomCheckInventoryDetail.html'; 5 var title = '隨機盤查明細【' + val + '】'; 6 7 //setPopFrameUrl(url, 1000, 550, title); 8 $('#dd').dialog({ 9 title: title, 10 width: 1000, 11 height: 550, 12 closed: false, 13 cache: true, 14 collapsible:true, 15 href: url, 16 queryParams: { checksysno: val }, 17 modal: true 18 }); 19 }
頁面B獲取參數方法:

1 //獲取頁面url參數 2 function getQueryParam(name) { 3 var obj = $('#dd').dialog('options'); 4 var queryParams = obj["queryParams"]; 5 6 return queryParams[name]; 7 }
其實,主要的就是A頁面方法中的queryParams屬性設置
是不是很簡單?