zoukankan      html  css  js  c++  java
  • layui实现异步请求后台分页

    使用layui实现异步请求后台分页操作,用到tablelaypage两个模块,详细资料见官网。

    直接贴代码,看起来比较简单,初次使用还是要费点心思的

    HTML

    <table id="table" lay-filter="table"></table>
    <script type="text/html" id="barDemo">
    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="look">查看</a>
    </script>
    <div id="footPageBox"></div>
    
    

    JavaScript

    layui.extend({
        request: "{/}/static/js/control/layui/myModules/request",
        utils: "{/}/static/js/control/layui/myModules/utils",
    });
    var labelType = 0;
    var searchContent;
    $(function() {
        initTableData();
        $('.menu ul li').click(function() {
            $(this).addClass('menuSelect').siblings().removeClass('menuSelect');
            labelType = $(this).attr("itemid");
            initTableData();
        });
        $('#search').click(function() {
            searchContent = $('#searchContent').val();
            initTableData();
        });
    });
    function initTableData() {
        layui.use(['jquery', 'table', 'layer', 'laypage', 'form', 'request', 'utils'],
        function() {
            $ = layui.jquery;
            var request = layui.request;
            var table = layui.table;
            var laypage = layui.laypage;
            var cols = [[{
                type: "numbers",
                title: '序号',
                 60,
                event: 'sel',
                align: "center",
                style: 'cursor: pointer;'
            },
            {
                field: 'developcode',
                title: '项目代码',
                 190,
                event: 'sel',
                align: "center"
            },
            {
                field: 'prjname',
                title: '项目名称',
                 190,
                event: 'sel',
                align: "center"
            },
            {
                field: 'phasename',
                title: '事项名称',
                 190,
                event: 'sel',
                align: "center"
            },
            {
                field: 'approvedate',
                title: '申报时间',
                event: 'sel',
                align: "center"
            },
            {
                field: 'flowphasestateStr',
                title: '办理状态',
                event: 'sel',
                align: "center"
            },
            {
                fixed: 'right',
                title: '操作',
                event: 'sel',
                toolbar: "#barDemo",
                align: "center"
            }]];
    
            function getbj(pages, searchVal) {
                var param = {
                    page: pages,
                    limit: 15,
                    keyWords: searchVal,
                    type: labelType
                };
                request.ajaxAsync('/prjinfo/getbjdata', param, true,
                function(res) {
                    if (res.status === 0) {
                        var totalNum = res.data.total;
                        table.render({
                            elem: '#table',
                            count: totalNum,
                            page: false,
                            limit: 15,
                            cols: cols,
                            first: true,
                            data: res.data.records,
                            done: function() {
                                laypage.render({
                                    elem: 'footPageBox',
                                    count: totalNum,
                                    // 记得加这个,不然脚标一直在第一页
                                    curr: pages,
                                    limit: 15,
                                    limits: [15, 20, 25],
                                    jump: function(obj, first) {
                                        if (!first) {
                                            getbj(obj.curr, searchContent);
                                        }
                                    }
                                });
                            }
                        });
                    } else {
                        top.layer.msg(res.msg);
                    }
                },
                "get");
            }
            // 初始化第一页数据
            getbj(1, "");
        });
    }
    

    有些代码是多余的或者其他,自己捋一下逻辑就好,能看懂,不多说了。

    欢迎批评,指正!

  • 相关阅读:
    iOS开发 代码 或 <Home+Power>截屏
    正弦水波纹波动画
    CAGradientLayer + UIBezierPath 为视图画渐变背景色
    字符串(String)和 字符(Character)
    Python+selenium爬取智联招聘的职位信息
    用Python写一个随机密码生成器
    golang文件处理函数openfile与linux系统的文件函数的耦合
    单向列表的实现代码,以及注释解释笔记
    CLion中出现错误add_dependencies called with incorrect number of arguments解决
    c语言指针的简单实例
  • 原文地址:https://www.cnblogs.com/gyyyblog/p/12169508.html
Copyright © 2011-2022 走看看