如何使用纯 javascript 每页显示 10 行数据? [英] How to use pure javascript to show 10 rows data perpage?

查看:36
本文介绍了如何使用纯 javascript 每页显示 10 行数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用纯javascript进行分页,每页显示10行,我在网上找到了一个例子这里是链接,我尝试将其更改为每页显示 10 行,但它看到了一些问题,它从一开始就显示了 3 行,并且在点击后给出了 12 个项目向上按钮,任何人都可以帮我解决问题,或者欢迎任何建议,谢谢

var a = {列表": [{name: "Wang1",年龄:30",身高:182"}, {name: "文1",年龄:28",身高:155"}, {name: "Yang1",年龄:45",身高:171"}, {name: "Wang2",年龄:30",身高:182"}, {name: "文2",年龄:28",身高:155"}, {name: "Yang2",年龄:45",身高:171"}, {name: "Wang3",年龄:30",身高:182"}, {name: "文3",年龄:28",身高:155"}, {name: "Yang3",年龄:45",身高:171"}, {name: "Wang4",年龄:30",身高:182"}, {name: "文4",年龄:28",身高:155"}, {name: "Yang4",年龄:45",身高:171"}, {name: "Wang5",年龄:30",身高:182"}, {name: "文5",年龄:28",身高:155"}, {name: "Yang5",年龄:45",身高:171"}, {name: "Wang6",年龄:30",身高:182"}, {name: "文6",年龄:28",身高:155"}, {name: "Yang6",年龄:45",身高:171"}]};变量 y = 1;//表示页面无功 t = 10;//每页项目var z = a["list"].length;var zy = Math.ceil(z/t);window.onload = 函数(){范爷(0);}函数fanye(f) {如果 (y == 1 && f == -1) {alert('第一页');f = 0;}如果 (y == zy && f == 1) {alert('最后一页');f = 0;}varotbod = document.getElementById('table').tBodies[0];var s = otbod.rows.length;for (i = 0; i < s; i++) {otbod.removeChild(otbod.rows[0]);}y += f;var q = (y - 1) * 6;for (var i = 1; i < z; i++) {var otr = document.createElement('tr');var otd1 = document.createElement('td');var otd2 = document.createElement('td');var otd3 = document.createElement('td');var otd4 = document.createElement('td');otd1.innerHTML = a["list"][q]['n​​ame'];otd2.innerHTML = a["list"][q]['age'];otd3.innerHTML = a["list"][q]['height'];otr.appendChild(otd1);otr.appendChild(otd2);otr.appendChild(otd3);otbod.appendChild(otr);如果(q == zy){休息;}q++;}}

<头><tr><td>名称</td><td>年龄</td><td>高度</td></tr></thead></tbody>
<a href="javascript:fanye(1);">up</a><a href="javascript:fanye(-1);">down​​</a>

解决方案

你必须这样做:

<预><代码><!DOCTYPE html><头><meta charset="utf-8"/><脚本>var a={列表":[{name:"Wang1",年龄:1",身高:182"},{name:"文1",年龄:2",高度:155"},{name:"Yang1",年龄:"3",高度:171"},{name:"Wang2",年龄:4",身高:182"},{name:"文2",年龄:5",高度:155"},{name:"Yang2",年龄:6",高度:171"},{name:"Wang3",年龄:7",身高:182"},{name:"文3",年龄:"8",高度:155"},{name:"Yang3",年龄:"9",高度:171"},{name:"Wang4",年龄:10",身高:182"},{name:"文4",年龄:11",高度:155"},{name:"Yang4",年龄:12",高度:171"},{name:"Wang5",年龄:13",身高:182"},{name:"文5",年龄:14",高度:155"},{name:"Yang5",年龄:15",高度:171"},{name:"Wang6",年龄:16",身高:182"},{name:"文6",年龄:17",高度:155"},{name:"Yang6",年龄:18",高度:171"},{name:"Wang1",年龄:19",身高:182"},{name:"文1",年龄:20",高度:155"},{name:"Yang1",年龄:21",高度:171"},{name:"Wang2",年龄:22",身高:182"},{name:"文2",年龄:23",高度:155"},{name:"Yang2",年龄:24",高度:171"},{name:"Wang3",年龄:25",身高:182"},{name:"文3",年龄:26",高度:155"},{name:"Yang3",年龄:27",高度:171"},{name:"Wang4",年龄:28",身高:182"},{name:"文4",年龄:29",高度:155"},{name:"Yang4",年龄:30",高度:171"},{name:"Wang5",年龄:31",身高:182"},{name:"文5",年龄:32",高度:155"},{name:"Yang5",年龄:33",高度:171"},{name:"Wang6",年龄:30",身高:182"},{name:"文6",年龄:28",高度:155"},{name:"Yang6",年龄:45",高度:171"}]};变量开始=0;window.onload=function (){获取数据(开始,10);}功能下一个(){开始=开始+1;if((start*10)> a["list"].length){开始=开始-1;}别的{获取数据(开始,10);}}函数私有(){开始=开始-1;如果(开始<0){开始=开始+1}别的{获取数据(开始,10);}}函数 getData(pageIndex,resultsPerPage){var offset=pageIndex*resultsPerPage;//第2页=10,第3页=20;var limit=offset+resultsPerPage;变量结果='';var otbod=document.getElementById('table').tBodies[0];otbod.innerHTML = "";//循环数据for (var i= offset; i < limit; i++){var otr=document.createElement('tr');var otd1=document.createElement('td');var otd2=document.createElement('td');var otd3=document.createElement('td');var otd4=document.createElement('td');otd1.innerHTML=a["list"][i]['name'];otd2.innerHTML=a["list"][i]['age'];otd3.innerHTML=a["list"][i]['height'];otr.appendChild(otd1);otr.appendChild(otd2);otr.appendChild(otd3);otbod.appendChild(otr);}返回结果;}<身体><表格边框="1" id="表格"><头><tr><td>姓名</td><td>年龄</td><td>身高</td></tr></thead></tbody><a href="javascript:next();">next</a><a href="javascript:privious();">privious</a></html>

加入你的脚本

var start=0;window.onload=function (){获取数据(开始,10);}功能下一个(){开始=开始+1;if((start*10)> a["list"].length){开始=开始-1;}别的{获取数据(开始,10);}}函数私有(){开始=开始-1;如果(开始<0){开始=开始+1}别的{获取数据(开始,10);}}函数 getData(pageIndex,resultsPerPage){var offset=pageIndex*resultsPerPage;//第2页=10,第3页=20;var limit=offset+resultsPerPage;变量结果='';var otbod=document.getElementById('table').tBodies[0];otbod.innerHTML = "";//循环数据for (var i= offset; i < limit; i++){var otr=document.createElement('tr');var otd1=document.createElement('td');var otd2=document.createElement('td');var otd3=document.createElement('td');var otd4=document.createElement('td');otd1.innerHTML=a["list"][i]['name'];otd2.innerHTML=a["list"][i]['age'];otd3.innerHTML=a["list"][i]['height'];otr.appendChild(otd1);otr.appendChild(otd2);otr.appendChild(otd3);otbod.appendChild(otr);}返回结果;}

输入您的 html 以供点击下一步或普赖斯

<a href="javascript:next();">next</a><a href="javascript:privious();">privious</a>

I'm trying to use pure javascript to make Pagination, show 10 rows per page, I find an example online here is the link and I try to change it to show 10 rows per page , but it seen has some problem , it shows 3 rows from the beginning and it give 12 items after hit the up button , can anyone help me to fix the problem , or any suggestions are welcome , thank you

var a = {
  "list": [{
    name: "Wang1",
    age: "30",
    height: "182"
  }, {
    name: "Wen1",
    age: "28",
    height: "155"
  }, {
    name: "Yang1",
    age: "45",
    height: "171"
  }, {
    name: "Wang2",
    age: "30",
    height: "182"
  }, {
    name: "Wen2",
    age: "28",
    height: "155"
  }, {
    name: "Yang2",
    age: "45",
    height: "171"
  }, {
    name: "Wang3",
    age: "30",
    height: "182"
  }, {
    name: "Wen3",
    age: "28",
    height: "155"
  }, {
    name: "Yang3",
    age: "45",
    height: "171"
  }, {
    name: "Wang4",
    age: "30",
    height: "182"
  }, {
    name: "Wen4",
    age: "28",
    height: "155"
  }, {
    name: "Yang4",
    age: "45",
    height: "171"
  }, {
    name: "Wang5",
    age: "30",
    height: "182"
  }, {
    name: "Wen5",
    age: "28",
    height: "155"
  }, {
    name: "Yang5",
    age: "45",
    height: "171"
  }, {
    name: "Wang6",
    age: "30",
    height: "182"
  }, {
    name: "Wen6",
    age: "28",
    height: "155"
  }, {
    name: "Yang6",
    age: "45",
    height: "171"
  }]
};

var y = 1; //indicate page
var t = 10; //items per page
var z = a["list"].length;
var zy = Math.ceil(z / t);
window.onload = function() {
  fanye(0);
}

function fanye(f) {
  if (y == 1 && f == -1) {
    alert('first page');
    f = 0;
  }
  if (y == zy && f == 1) {
    alert('last page');
    f = 0;
  }


  varotbod = document.getElementById('table').tBodies[0];
  var s = otbod.rows.length;

  for (i = 0; i < s; i++) {

    otbod.removeChild(otbod.rows[0]);
  }
  y += f;
  var q = (y - 1) * 6;
  for (var i = 1; i < z; i++) {

    var otr = document.createElement('tr');
    var otd1 = document.createElement('td');
    var otd2 = document.createElement('td');
    var otd3 = document.createElement('td');
    var otd4 = document.createElement('td');
    otd1.innerHTML = a["list"][q]['name'];
    otd2.innerHTML = a["list"][q]['age'];
    otd3.innerHTML = a["list"][q]['height'];

    otr.appendChild(otd1);
    otr.appendChild(otd2);
    otr.appendChild(otd3);

    otbod.appendChild(otr);
    if (q == zy) {
      break;
    }
    q++;
  }
}

<table border="1" id="table">
  <thead>
    <tr>
      <td>name</td>
      <td>age</td>
      <td>height</td>
    </tr>
  </thead>
  <tbody>
  </tbody>
</table>
<a href="javascript:fanye(1);">up</a>
<a href="javascript:fanye(-1);">down</a>

解决方案

You have to do like this :


<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <script>
        var a={"list":[
            {
                name:"Wang1",
                age:"1",
                height:"182"
            },{
                name:"Wen1",
                age:"2",
                height:"155"
            },
            {
                name:"Yang1",
                age:"3",
                height:"171"
            },
            {
                name:"Wang2",
                age:"4",
                height:"182"
            },
            {
                name:"Wen2",
                age:"5",
                height:"155"
            },
            {
                name:"Yang2",
                age:"6",
                height:"171"
            },
            {
                name:"Wang3",
                age:"7",
                height:"182"
            },
            {
                name:"Wen3",
                age:"8",
                height:"155"
            },
            {
                name:"Yang3",
                age:"9",
                height:"171"
            },
            {
                name:"Wang4",
                age:"10",
                height:"182"
            },
            {
                name:"Wen4",
                age:"11",
                height:"155"
            },
            {
                name:"Yang4",
                age:"12",
                height:"171"
            },
            {
                name:"Wang5",
                age:"13",
                height:"182"
            },
            {
                name:"Wen5",
                age:"14",
                height:"155"
            },
            {
                name:"Yang5",
                age:"15",
                height:"171"
            },
            {
                name:"Wang6",
                age:"16",
                height:"182"
            },
            {
                name:"Wen6",
                age:"17",
                height:"155"
            },
            {
                name:"Yang6",
                age:"18",
                height:"171"
            },
            {
                name:"Wang1",
                age:"19",
                height:"182"
            },{
                name:"Wen1",
                age:"20",
                height:"155"
            },
            {
                name:"Yang1",
                age:"21",
                height:"171"
            },
            {
                name:"Wang2",
                age:"22",
                height:"182"
            },
            {
                name:"Wen2",
                age:"23",
                height:"155"
            },
            {
                name:"Yang2",
                age:"24",
                height:"171"
            },
            {
                name:"Wang3",
                age:"25",
                height:"182"
            },
            {
                name:"Wen3",
                age:"26",
                height:"155"
            },
            {
                name:"Yang3",
                age:"27",
                height:"171"
            },
            {
                name:"Wang4",
                age:"28",
                height:"182"
            },
            {
                name:"Wen4",
                age:"29",
                height:"155"
            },
            {
                name:"Yang4",
                age:"30",
                height:"171"
            },
            {
                name:"Wang5",
                age:"31",
                height:"182"
            },
            {
                name:"Wen5",
                age:"32",
                height:"155"
            },
            {
                name:"Yang5",
                age:"33",
                height:"171"
            },
            {
                name:"Wang6",
                age:"30",
                height:"182"
            },
            {
                name:"Wen6",
                age:"28",
                height:"155"
            },
            {
                name:"Yang6",
                age:"45",
                height:"171"
            }]};

        var start=0;
        window.onload=function (){
            getData(start,10);
        }

        function next() {
            start=start+1;
            if((start*10)> a["list"].length){
                start=start-1;
            }
            else{
                getData(start,10);
            }
        }
        function privious() {
            start=start-1;
            if(start < 0){
                start=start+1
            }
            else{
                getData(start,10);
            }
        }

        function getData(pageIndex,resultsPerPage){

            var offset=pageIndex*resultsPerPage;//page 2=10, page 3=20;
            var limit=offset+resultsPerPage;
            var results='';

            var otbod=document.getElementById('table').tBodies[0];
            otbod.innerHTML = "";
            //loop through data
            for (var i= offset; i < limit; i++){

                var otr=document.createElement('tr');
                var otd1=document.createElement('td');
                var otd2=document.createElement('td');
                var otd3=document.createElement('td');
                var otd4=document.createElement('td');
                otd1.innerHTML=a["list"][i]['name'];
                otd2.innerHTML=a["list"][i]['age'];
                otd3.innerHTML=a["list"][i]['height'];

                otr.appendChild(otd1);
                otr.appendChild(otd2);
                otr.appendChild(otd3);

                otbod.appendChild(otr);
            }

            return results;

        }
    </script>
</head>
<body>
<table  border="1" id="table">
    <thead>
    <tr><td>name</td><td>age</td><td>height</td>
    </tr>
    </thead>
    <tbody>
    </tbody>
</table>
<a href="javascript:next();">next</a>
<a href="javascript:privious();">privious</a>
</body>
</html>

add in your script

var start=0;
        window.onload=function (){
            getData(start,10);
        }

        function next() {
            start=start+1;
            if((start*10)> a["list"].length){
                start=start-1;
            }
            else{
                getData(start,10);
            }
        }
        function privious() {
            start=start-1;
            if(start < 0){
                start=start+1
            }
            else{
                getData(start,10);
            }
        }

        function getData(pageIndex,resultsPerPage){

            var offset=pageIndex*resultsPerPage;//page 2=10, page 3=20;
            var limit=offset+resultsPerPage;
            var results='';

            var otbod=document.getElementById('table').tBodies[0];
            otbod.innerHTML = "";
            //loop through data
            for (var i= offset; i < limit; i++){

                var otr=document.createElement('tr');
                var otd1=document.createElement('td');
                var otd2=document.createElement('td');
                var otd3=document.createElement('td');
                var otd4=document.createElement('td');
                otd1.innerHTML=a["list"][i]['name'];
                otd2.innerHTML=a["list"][i]['age'];
                otd3.innerHTML=a["list"][i]['height'];

                otr.appendChild(otd1);
                otr.appendChild(otd2);
                otr.appendChild(otd3);

                otbod.appendChild(otr);
            }

            return results;

        }

put in your html for click next or prious

<a href="javascript:next();">next</a>
<a href="javascript:privious();">privious</a>

这篇关于如何使用纯 javascript 每页显示 10 行数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆