Ajax + jQuery + jsRender 实现弹框里的(无刷新)分页

今天要在页面的一个弹框里做一个分页,实现如下。

先看效果:

再上代码:

html:

            <div id="pagination" class="paging_old none" style="height: 40px;line-height: 40px;">
                <a href="javascript:;" id="previousPage" onclick="previousPage(this)">上一页</a>
                <span id="pages"></span>
                <a href="javascript:;" id="nextPage" onclick="nextPage(this)">下一页</a>
                <input id="isPage" type="text">
                <a href="javascript:;" id="jumpPage">跳转</a>
            </div>

分页Js


    function previousPage(th) {
        var page = $(th).attr("page");
        getCompany(page);
    }
    function nextPage(th) {
        var page = $(th).attr("page");
        getCompany(page);

    }
    function toPage(page) {
        getCompany(page);
    }

    var page = "";
    var pageSize = "";
    var pages = "";
    var total = "";

    function pagenation() {
        if (total > 5) {
            $("#pagination").show();
            if (page == 1) {
                $("#previousPage").hide();
            } else {
                $("#previousPage").show();
                $("#previousPage").attr("page", parseInt(page) - 1);
            }
            if (page == pages) {
                $("#nextPage").hide();
            } else {
                $("#nextPage").show();
                $("#nextPage").attr("page", parseInt(page) + 1);
            }

            $("#pages").html("");
            var pn = Number(page) - 6;
            for (var i = 1; i <= 11; i++) {
                if ((pn + i) > 0 && (pn + i) <= Number(Number(total) + Number(pageSize) - 1) / Number(pageSize)) {
                    if (page == (pn + i)) {
                        $("#pages").append(
                            "  <a href='javascript:;' style='background-color:#ff6600;color:#FFF;'>"
                            + (pn + i) + "</a>  ")
                    } else {
                        $("#pages").append("<a href='javascript:;' onclick='toPage(" + (pn + i) + ")'>" + (pn + i) + "</a>")
                    }
                }
            }

        } else {
            $("#pagination").hide();
        }
    }
    $("#jumpPage").click(function () {
        if ($("#isPage").val() != null
            && $("#isPage").val() > 0
            && ($("#isPage").val() <= Math.ceil(total / pageSize))) {
            getCompany($("#isPage").val())
        }
    })

获取数据Js


    function getCompany(getPage) {
        $.ajax({
            type: "GET",
            url: "url",
            async: false,
            data: {
                "page": getPage,
                "keyword": keyword
            },
            success: function (msg) {
                if (msg != null && msg != "") {
                    var data = JSON.parse(msg);
                    console.log(data);
                    var html = $("#companyTmpl").render(companyList);
                    $("#companyTable").html("");
                    $("#companyTable").append(html);
                    page = data.page;
                    pageSize = data.pageSize;
                    pages = data.pages;
                    total = data.total;
                }
            },
            complete: function () {
                pagenation();
            }
        });
    }

弹框打开时获取第一页:

    $(".link_company>input").on('focus', function () {
        layer.open({
            type: 1,
            title: '弹框',
            skin: 'layui-layer-orange',
            closeBtn: 1,
            area: '750px',
            scrollbar: false,
        });
        getCompany(1);
    })

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值