1. 程式人生 > >layui 操作彈出層

layui 操作彈出層


    var index = parent.layer.getFrameIndex(window.name);  
    parent.layer.close(index);//關閉當前頁  
    // window.parent.location.replace(location.href)//重新整理父級頁面  
window.parent.location.reload(); 


type - 基本層型別

型別:Number,預設:0 
layer提供了5種層型別。可傳入的值有:0(資訊框,預設)1(頁面層)2(iframe層)3(載入層)4(tips層)
//當你想關閉當前頁的某個層時
var index = layer.open();
var index = layer.alert();
var index = layer.load();
var index = layer.tips();
//正如你看到的,每一種彈層呼叫方式,都會返回一個index
layer.close(index); //此時你只需要把獲得的index,輕輕地賦予layer.close即可
//如果你想關閉最新彈出的層,直接獲取layer.index即可
layer.close(layer.index); //它獲取的始終是最新彈出的某個層,值是由layer內部動態遞增計算的
//當你在iframe頁面關閉自身時
var index = parent.layer.getFrameIndex(window.name); //先得到當前iframe層的索引
parent.layer.close(index); //再執行關閉
總結:
這種開啟的頁面的好處是:直接關閉當前彈出層,不用重新整理整個頁面,不用載入資料,效能高,節約時間,缺點是查詢引數的傳輸不方便。

補充:

這種寫法產地引數十分的不方便,試過array方式傳參解讀過去的都是object根本不是想要的資料,而json格式資料因為裡面帶有引號只會傳遞部分資料,我在這裡總結了一個方法,從幾種方法裡面選的一個相對較好的傳參方式:

[{"name":"periodstart","value":"2014-01"},{"name":"periodend","value":"2014-12"},{"name":"fkcategory","value":""},{"name":"fkCategoryName","value":""},{"name":"fkmandept","value":""},{"name":"fkMandeptName","value":""},{"name":"fkusedept","value":""},{"name":"fkUsedeptName","value":""},{"name":"pkcurrtype","value":""},{"name":"total","value":""}]  
JSON.stringify($('#searchForm').serializeArray()).replace(/"+/g,'').replace(/name:/g,'').replace(/,value:/g,'=').replace(/},{/g,',');  

這是先將一個form表單裡面的資料序列化出來,然後轉為json格式,然後將json格式的資料轉為map避免json資料裡面引號對資料的傳遞影響,然後在後臺直接在後臺強轉為map格式的資料,非常方便。

[java] view plain copy
Map<String, String> map = new HashMap<String, String>();  
String data = "{periodstart=2014-01,periodend=2014-12,fkcategory=,"  
    + "fkCategoryName=,fkmandept=,fkMandeptName=,fkusedept=,fkUsedeptName=,pkcurrtype=,total=}";;  
data = data.substring(1, data.length()-1);//去掉前後括號  
String[] arraydata = data.split(",");//按“,”將其分為字元陣列  
for (int i = 0; i < arraydata.length; i++) {  
    int j = arraydata[i].indexOf("=");  
    map.put(arraydata[i].substring(0, j-1), arraydata[i].substring(j+1, arraydata[i].length()));  
}  
Object o = map.get("perioden");  
System.out.println(o.toString());  
[javascript] view plain copy
{periodstart=2014-01,periodend=2014-12,fkcategory=,fkCategoryName=,fkmandept=,fkMandeptName=,fkusedept=,fkUsedeptName=,pkcurrtype=,total=}