1. 程式人生 > 其它 >Layui表格及彈出層顯示錶格

Layui表格及彈出層顯示錶格

Layui表格及彈出層顯示錶格、表格、彈出層、彈出層表格、表格彈出表格、彈出框表格顯示

控制元件

表格 + 彈出層
彈出層內容為表格

頁面展示

場景

表格存在操作事件,操作中有”檢視“功能,點選”檢視“出現彈出框,在彈出層顯示錶格,彈出層的表格資料為再次請求得到的資料

使用

html程式碼

<!--body中定義初始化表格-->
<table id="detail" lay-filter="detail"></table>

<!--body中定義,操作事件之檢視(編輯、刪除也類似)-->
<script type="text/html" id="barDemo">
    <a class="layui-btn layui-btn-xs layui-btn-xs" lay-event="detail">檢視</a>
</script>

js程式碼

<script type="text/javascript">
layui.use(['table', 'layer', 'form'], function (){
    var table = layui.table
    ,table2 = layui.table
    ,layer = layui.layer
    ,form = layui.form;

    //關鍵!監聽工具條
    table.on('tool(detail)', function(obj){  // detail為彈出框前的表格id
        var data = obj.data;
        if(obj.event === 'detail'){  // 監聽”檢視“按鈕事件
            layer.open({  // 開啟彈出框
                type: 1,  // 這個很關鍵!1為頁面層
                title: '變化詳情',
                shadeClose: true,  //開啟遮罩關閉
                // shade: 0.8,
                area: ['70%', '90%'],
                maxmin: true,
                content: '<div class="layui-container" style="width: 98%"><table id="transfer" lay-filter="transfer" class=""></table></div>',
                // 彈出層表格定義
                success: function () {
                    table2.render({
                        elem: '#transfer'  // 彈出層表格id
                        ,url: "{% url 'index:transfers' %}"  // 後端請求URL地址
                        ,where: {  // derail表格的值
                            'diff_date': data.diff_date
                            ,'source': data.data_center
                            ,'direction': data.change
                            ,'num': data.num
                        }
                        // ,method: 'post'
                        ,page: true
                        // 以下為transfer表格的定義
                        ,cols: [[
                            {field: 'diff_date', title: '時間', width: 150}
                            ,{field: 'source', title: '資料中心'}
                            ,{field: 'direction', title: '方向', width: 80}
                            ,{field: 'destination', title: '來源/去處'}
                            ,{field: 'serial_num', title: '序列號', width: 230}
                            ,{field: 'brand', title: '品牌'}
                            ,{field: 'model', title: '型號', width: 200}
                            ,{field: 'purchase', title: '採購編號'}
                        ]]
                        ,response: {
                            statusName: 'code' //規定資料狀態的欄位名稱,預設:code
                            ,statusCode: 10000 //規定成功的狀態碼,預設:0
                            ,msgName: 'message' //規定狀態資訊的欄位名稱,預設:msg
                            ,countName: 'total' //規定資料總數的欄位名稱,預設:count
                            ,dataName: 'data' //規定資料列表的欄位名稱,預設:data
                        }
                    })
                }
            });
        }
    });
});
</script>

總結

彈出層的typecontent

不得不說Layui真的很強大,layer.open中的content更強大!

應該還有更好的方法,歡迎指點。

讓記憶空白!