layUI 頁面多個table監聽事件處理


一個頁面上出現多個table時,監聽事件中獲取id出現問題,類似代碼如下:

當2個table都有編輯監聽事件時,獲取id值,出現undfied值或者取值錯誤。

<div style="display: none">
    <script type="text/html" id="Bar1">
        <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>編輯</a>
    </script>
    <script type="text/html" id="Bar2">
        <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>編輯</a>
    </script>
</div>
<script>
    layui.use(['layer', 'table', 'form'], function (layer, table, form) {
        var table1 = layui.table;
        var table2 = layui.table;

        table1.render({
            elem: '#table1'
            , cols: [[
                , { /*fixed: 'right',*/ title: '操作', width: 130, align: 'left', toolbar: '#Bar1' }
            ]]
            , id: 'Id' //  id為:1001,1002,1003
            //  ...省略
        });

        table2.render({
            elem: '#table12'
            , cols: [[
                , { /*fixed: 'right',*/ title: '操作', width: 130, align: 'left', toolbar: '#Bar2' }
            ]]
            , id: 'Id' // id為:1,2,3
            //  ...省略
        });

        table1.on('tool(table1)', function (obj) {
            var data = obj.data;
            var layEvent = obj.event;
            switch (obj.event) {
                case 'edit':
                    edit(data.Id, obj);   //  data.Id是undfied,undfied,undfied或者data.Id是1,2,3
                    break;
            }
        });

        table2.on('tool(table2)', function (obj) {
            var data = obj.data;
            var layEvent = obj.event;
            switch (obj.event) {
                case 'edit':
                    edit(data.Id, obj);  //  data.Id是1,2,3或者是undfied,undfied,undfied
                    break;
            }
        });
    });
</script>

解決辦法:

去掉工具欄模板代碼Bar1和Bar2的:lay-event="edit" 使用onclick事件,去掉 table1.on('tool(table1)', function (obj) 和 table2.on('tool(table1)', function (obj) 

<div style="display: none">
    <script type="text/html" id="Bar1">
        <a class="layui-btn layui-btn-normal layui-btn-xs" onclick="edit({{d.Id}})"><i class="layui-icon layui-icon-edit"></i>編輯</a>
    </script>
    <script type="text/html" id="Bar2">
        <a class="layui-btn layui-btn-normal layui-btn-xs" onclick="edit({{d.Id}})"><i class="layui-icon layui-icon-edit"></i>編輯</a>
    </script>
</div>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM