天天看點

layer彈出層的使用——通路另外一個頁面,進行資料互動

1、在父頁面中點選按鈕之後彈出一個框,裡面加載另一個頁面,稱之為子頁面

layer.open({
		title: '新增',
		type: 2,//很關鍵,隻有type=2時,才會通路其他頁面,否則以字元串的格式顯示
		content: '../add.html?a=1&b=2&c=3 ',//問号後面向子頁面傳遞參數,可以多個
		area: ['800px', '600px'],
		btn: ['添加','關閉'],
		yes:function(index){
            //擷取子頁面傳回的資料,callbackdata()方法,定義在子頁面,用來傳回給父頁面資料
		  var backdata = window["layui-layer-iframe" + index].callbackdata();
			//
            //可以進行一些列成功操作
            //
                  layer.closeAll()
		},
		btn2:function(){
			layer.closeAll()
		}
});
           

2、子頁面擷取父頁面傳遞的參數的方法

<script>
function GetRequest() {  
        var url = location.search; //擷取url中"?"符後的字串  
        var theRequest = new Object();  
        if (url.indexOf("?") != -1) {  
            var str = url.substr(1);  
            strs = str.split("&");  
            for (var i = 0; i < strs.length; i++) {  
                theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);  
            }  
        }  
        return theRequest;  
    }
    var request = new Object();  
    request = GetRequest();  
    var a = request['a'];
    var b = request['b'];
    var c = request['c']; 
</script>
           

3、子頁面上的回調函數callback方法

<script>
	//子頁面傳回函數
	var callbackdata = function () {
		var backdata = 666;
		return backdata;
	};
</script>