zoukankan      html  css  js  c++  java
  • ajax实现分页(项目整理)

    /*
     * author:alex
     * updateTime:2015-11-11 18:18
     * ajax分页
     */
    (function ($) {
             $.ajaxPage = function(options) { //定义插件的名称,这里为ajaxPage
                 var parameter = {
                     requestData:{
                         pageNo:1,
                         pageSize:10
                     }
                };
                var obj = $.extend(parameter,options);
                if($(".ajax-load").length==0){
                    var alertHtml = '<div class="ajax-load" style="background-image:url(/galaxy_pc_clients/resource/image/ajax-bg.png)"><img src="/galaxy_pc_clients/resource/image/load.gif" /></div>'
                    $("body").prepend(alertHtml);
                };
                 $(".ajax-load").show();
                var time ="";
                var status = "";
                $.ajax({
                    type:obj.type,
                    url:obj.url,
                    dataType:obj.dataType,
                    data:obj.data,
                    success:function(json){
                        var pageSelect;
                        obj.success(json);
                        for(var j=1;j<=json.result.pageCount;j++){
                             pageSelect+="<option value="+j+">"+j+"</option>";
                         }
                         $("#pageNo").html(pageSelect);
                         $("#pageNo option:eq("+(json.result.pageNo-1)+")").attr("selected","selected");
                        pageNoClick();
                        $(".ajax-load").hide();
                        
                    },
                    error:function(json){
                            alert("网络错误,请检查")
                    }
                });
                
            }
    })(jQuery);
    $(function(){
        $("#pageSize,#pageNo").change(function(){
            ajaxRun();
        })
        
        $("#pageIndex").on("click",function(){
            if( $("#pageNo").val()>1&&$("#pageNo").val()!=""){
                 $("#pageNo").val("1");
                 ajaxRun();
            }
        })
        $("#pageLast").on("click",function(){
            if( $("#pageNo").val()>1&&$("#pageNo").val()!=""){
                $("#pageNo").find("option:selected").attr("selected",false).prev().attr("selected",true);
                ajaxRun();
            }
        })
        $("#pageNext").on("click",function(){
            if( $("#pageNo").val()!=$("#pageNo option:last").val()){
                $("#pageNo").find("option:selected").attr("selected",false).next().attr("selected",true);
                ajaxRun();
            }
        })
        $("#pageFooter").on("click",function(){
            if( $("#pageNo").val()!=$("#pageNo option:last").val()){
                 $("#pageNo").val($("#pageNo option:last").val());
                 ajaxRun();
            }
        })
        $('#filtrateStatus').change(function(){
            $("#pageNo").find("option:eq(0)").attr("selected",true);
            ajaxRun();
        });
    })
    function pageNoClick(){    //分页禁用按钮
        
        if($("#pageNo").val()==$("#pageNo option:first").val()){
            $("#pageLast").addClass("btn-notclick");
        }else{
            $("#pageLast").removeClass("btn-notclick");
        }
        if($("#pageNo").val()==$("#pageNo option:last").val()){
            $("#pageNext").addClass("btn-notclick");
        }else{
            $("#pageNext").removeClass("btn-notclick");
        }
        if($("#pageNo").val()==1||$("#pageNo").val()==null){
            $("#pageIndex").addClass("btn-notclick");
        }else{
            $("#pageIndex").removeClass("btn-notclick");
        }
        if($("#pageNo").val()==$("#pageNo option:last").val()){
            $("#pageFooter").addClass("btn-notclick");
        }else{
            $("#pageFooter").removeClass("btn-notclick");
        }
        
    }

    前台使用代码:

          <table class="pager">
                <tbody>
                    <tr>
                        <td width="40%">
                            &nbsp;&nbsp;共有 <span id="financeAllNumber">${pager.rowCount}</span> 条记录,每页行数:
                            <select name="pageSize" id="pageSize">
                                <option value="5">5</option>
                                <option value="10" selected="selected">10</option>
                                <option value="30">30</option>
                                <option value="50">50</option>
                                <option value="100">100</option>
                            </select>
                            当前第
                            <select name="pageNo" id="pageNo">
                                <c:forEach var="i" begin="1" end="${pager.pageCount}">
                                    <option value="${i}" <c:if test="${i==pageNo}">selected="selected"</c:if>>${i}</option>
                                </c:forEach>
                            </select></td>
                        <td width="60%">
                                <a class="btn btn-small" id="pageIndex">首页</a>
                                <a class="btn btn-small" id="pageLast">上一页</a>
                                <a class="btn btn-small" id="pageNext">下一页</a>
                                <a class="btn btn-small" id="pageFooter">尾页</a>
                        </td>
                    </tr>
                </tbody>
            </table>

    前台js:

                   pageNoClick();
                   function ajaxRun(){
                        $.ajaxPage({
                            data:{
                                pageNo:$("#pageNo").val(),
                                pageSize:$("#pageSize").val(),
                            },
                            type:'post',
                            url:'ajaxAccountAction!queryAllAccount.action',
                            dataType:'json',
                            success:function(json){
                                 $("#pageNo option:eq("+(json.pageNo-1)+")").attr("selected","selected");
                                 $("#playTable").html(table);
                             }
                        });
                    }
  • 相关阅读:
    Angular入门到精通系列教程(3)
    Angular入门到精通系列教程(1)
    Angular入门到精通系列教程(2)
    嵌入在iframe中的Angular站点,如何打开一个新的tab页面
    简单实现无服务器情况下,2个GIT客户端的同步
    QP01 创建检验批计划
    IW31创建维修工单
    屏幕里输入字段值后的检查 SCREEN FIELD CHECK ON INPUT
    elasticsearch 基于文章点赞数计算评分
    script_score(帖子--根据 销量和浏览人数进行相关度提升)
  • 原文地址:https://www.cnblogs.com/alex-web/p/5276964.html
Copyright © 2011-2022 走看看