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, "");
        });
    }
    

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

    欢迎批评,指正!

  • 相关阅读:
    Sublime Text前端开发环境配置
    CSS盒模型
    Angular-如何在Angular2中使用jQuery及其插件
    六:Angular 指令 (Directives)
    五:Angular 数据绑定 (Data Binding)
    四:Angular 元数据 (Metadata)
    三:Angular 模板 (Templates)
    二:Angular 组件 (Components)
    一:Angular 模块 (Modules)
    js获取浏览器内核
  • 原文地址:https://www.cnblogs.com/gyyyblog/p/12169508.html
Copyright © 2011-2022 走看看