Using js to make HTML table pagination sample of of js pagination

  • 2020-03-30 02:45:37
  • OfStack

Sometimes the column number of the table is too long, which is not conducive to the user's query, so JS is used to make a table pagination, the following is the relevant code

One, JS code


<script type="text/javascript">
            var pageSize = 15;    //Number of bars per page
             var curPage=0;        //The current page
             var lastPage;        //The last page
             var direct=0;        // The direction of 
            var len;            //Total number of rows
            var page;            //Total number of pages
            var begin;
            var end;

                
            $(document).ready(function display(){   
                len =$("#mytable tr").length - 1;    //  So let's figure out what this is Total number of rows , remove the first line 
                page=len % pageSize==0 ? len/pageSize : Math.floor(len/pageSize)+1;//Number of pages according to the number of strips
                // alert("page==="+page);
                curPage=1;    //Set current to first page
                displayPage(1);//Show the first page

                document.getElementById("btn0").innerHTML=" The current  " + curPage + "/" + page + "  page      Each page  ";    //Displays the current number of pages
                document.getElementById("sjzl").innerHTML=" Total data  " + len + "";        //Display data volume
                document.getElementById("pageSize").value = pageSize;

                

                $("#btn1").click(function firstPage(){    //  Home page 
                    curPage=1;
                    direct = 0;
                    displayPage();
                });
                $("#btn2").click(function frontPage(){    //The previous page
                    direct=-1;
                    displayPage();
                });
                $("#btn3").click(function nextPage(){    //The next page
                    direct=1;
                    displayPage();
                });
                $("#btn4").click(function lastPage(){    //  back 
                    curPage=page;
                    direct = 0;
                    displayPage();
                });
                $("#btn5").click(function changePage(){    //  Turn to page 
                    curPage=document.getElementById("changePage").value * 1;
                    if (!/^[1-9]d*$/.test(curPage)) {
                        alert(" Please enter a positive integer ");
                        return ;
                    }
                    if (curPage > page) {
                        alert(" Out of data page ");
                        return ;
                    }
                    direct = 0;
                    displayPage();
                });

                
                $("#pageSizeSet").click(function setPageSize(){    //Sets how many records are displayed per page
                    pageSize = document.getElementById("pageSize").value;    //Number of bars per page
                    if (!/^[1-9]d*$/.test(pageSize)) {
                        alert(" Please enter a positive integer ");
                        return ;
                    }
                    len =$("#mytable tr").length - 1;
                    page=len % pageSize==0 ? len/pageSize : Math.floor(len/pageSize)+1;//Number of pages according to the number of strips
                    curPage=1;        //The current page
                     direct=0;        // The direction of 
                     firstPage();
                });
            });

            function displayPage(){
                if(curPage <=1 && direct==-1){
                    direct=0;
                    alert(" It's page one ");
                    return;
                } else if (curPage >= page && direct==1) {
                    direct=0;
                    alert(" It's the last page ");
                    return ;
                }

                lastPage = curPage;

                //Fixed a bug where curPage calculated 0 when len=1
                if (len > pageSize) {
                    curPage = ((curPage + direct + len) % len);
                } else {
                    curPage = 1;
                }

                
                document.getElementById("btn0").innerHTML=" The current  " + curPage + "/" + page + "  page      Each page  ";        //Displays the current number of pages

                begin=(curPage-1)*pageSize + 1;//Start record number
                end = begin + 1*pageSize - 1;    //End record number

                
                if(end > len ) end=len;
                $("#mytable tr").hide();    //First, set the behavior to hide
                $("#mytable tr").each(function(i){    //Then, determine whether to restore the display by conditional judgment
                    if((i>=begin && i<=end) || i==0 )//Display begin<= x<= end of the record
                        $(this).show();
                });
             }
    </script>

Two, HTML code


<a id="btn0"></a>
<input id="pageSize" type="text" size="1" maxlength="2" value="getDefaultValue()"/><a>  article  </a> <a href="#" id="pageSizeSet"> Set up the </a> 
<a id="sjzl"></a> 
<a  href="#" id="btn1"> Home page </a>
<a  href="#" id="btn2"> The previous page </a>
<a  href="#" id="btn3"> The next page </a>
<a  href="#" id="btn4"> back </a> 
<a> Go to the  </a>
<input id="changePage" type="text" size="1" maxlength="4"/>
<a> page  </a>
<a  href="#" id="btn5"> jump </a>
<table id="mytable" align="center">
... The rest of the table code 

The final result of the example is as follows:

< img SRC = "border = 0 / / files.jb51.net/file_images/article/201404/20140425114923.jpg? 201432511508 ">


Related articles: