使用 javascript/jquery 生成页码?

2023-11-23

如何使用 javascript/jquery 生成如下页码?

如果选择第 5 页,我必须显示 3,4 和 6,7 以及 1,最后一页以及上一页、下一页... 任何建议....

EDIT:

如何处理使用这些分页 div 的 json 数据? (即)我的json数据包含50条记录 我想要第 1 页中的 10 等等...如何使用这些数字对 json 数据进行分页...

我想要一个 jquery 函数来传递currentpageno,lastpagenumber该函数应该为我生成如下页码

如果是第一页

istpage

如果是在中间的话

Pager

如果是最后一页的话

lastpage

第二次编辑:

我已经尝试过这个功能,但似乎没有得到想要的结果

function generatePages(currentPage, LastPage) {
    if (LastPage <= 5) {
        var pages = '';
        for(var i=1;i<=5;i++)
        {
            pages += "<a class='page-numbers' href='#'>" + i + "</a>"
        }
        $("#PagerDiv").append(pages);
    }
    if (LastPage > 5) {
        var pages = '';
        for (var i = 1; i <= 5; i++) {
            pages += "<a class='page-numbers' href='#'>" + i + "</a>"
        }
        $("#PagerDiv").append(pages);
    }
}

我有lastPage and currentPage值请帮我得到这个......


您正在寻找的称为“分页”,并且(一如既往)有一个 jQuery 插件可以为您完成这项工作:

http://d-scribe.de/webtools/jquery-pagination/demo/demo_options.htm

(下载它here)


Edit:由于您似乎无法使其正常工作,因此这里是使用该插件的一种方法(几种不同的方法)。

Step 1:从 JSON 数据生成标记,如下所示:

<div id="display">
    <!-- This is the div where the visible page will be displayed -->
</div>

<div id="hiddenData">
    <!-- This is the div where you output your records -->
    <div class="record">
        <!-- create one record-div for each record you have in your JSON data -->
    </div>
    <div class="record">
    </div>
</div>

这个想法是在单击页面链接时将相应的记录复制到显示 div。因此,该插件提供了 pageSelect 回调函数。Step 2就是实现这个功能,例如:

function pageselectCallback(pageIndex, jq){
    // Clone the record that should be displayed
    var newContent = $('#hiddenData div.record:eq('+pageIndex+')').clone();
    // Update the display container
    $('#display').empty().append(newContent);
    return false;
}

这意味着每条记录只有一页。如果要每页显示多条记录,则必须对上述函数进行相应修改。

第三步也是最后一步是正确初始化整个事情。

function initPagination() {
    // Hide the records... they shouldn't be displayed
    $("#hiddenData").css("display", "none");
    // Get the number of records
    var numEntries = $('#hiddenData div.result').length;
    // Create pagination element
    $("#pagination").pagination(numEntries, {
        num_edge_entries: 2,
        num_display_entries: 8, // number of page links displayed 
        callback: pageselectCallback,
        items_per_page: 1  // Adjust this value if you change the callback!
    });
}

因此,您只需从 JSON 数据生成 HTML 标记,然后调用 init 函数即可。

这并不难,不是吗?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 javascript/jquery 生成页码? 的相关文章

随机推荐

  • Visual Studio 2008 中的 WatiN - 第二个测试方法失败

    当尝试在 Visual Studio 2008 中运行一个非常简单的 WatiN 2 0 CTP3 测试时 我发现第一个测试总是执行得很好 第二个测试方法似乎破坏了 IE 对象中的某些内容 产生以下异常 测试方法 testProject W
  • 如何使用自定义 IXmlSerialized 作为 XmlAttribute?

    我实施IXmlSerializable对于以下将 RGB 颜色值编码为单个字符串的类型 public class SerializableColor IXmlSerializable public int R get set public
  • 安装 Tensorflow 时出错 - Python 3.8

    我是编程新手 正在学习必须安装 Tensorflow 的课程 问题是我正在使用 Python 3 8 据我所知 Tensorflow 不支持它 我已经下载了 Python 3 6 但我不知道如何将其切换为默认的 python 版本 最好使用
  • 不同文化中的 JavaScript parseFloat

    我对 JavaScript 的 parseFloat 函数在世界不同地区的默认行为有疑问 在美国 如果对字符串 123 34 调用 parseFloat 您将得到浮点数 123 34 如果我在瑞典或巴西开发代码 并且他们使用逗号而不是句点作
  • 是否可以“git diff”2 个字符串?

    我有 2 个字符串 我想要它们之间的 git diff 我可以创建 file1 并添加 string1 作为其内容 然后我可以创建 file2 并添加 string2 作为其内容 然后我可以 git diff file1 和 file2 但
  • 配置错误:未满足包要求(sqlite3 > 3.7.4)

    我正在尝试按照以下说明在 Centos 7 上安装 php https www php net manual en install unix nginx php 我的nginx版本 nginx 1 19 0 我从下载了 php 7 4 6
  • React:useState 还是 useRef?

    我正在阅读有关 React 的内容useState and useRef at 挂钩常见问题解答 我对一些用例感到困惑 这些用例似乎同时具有 useRef 和 useState 的解决方案 而且我不确定哪种方式是正确的 来自 Hook 常见
  • 使两列高度相同

    我正在尝试制作 2 列设计 使用推特引导程序 有 2 根等高的柱子 让我们看这个例子 div class row fluid div class span2 ul li Item 1 li li Item 2 li li Item 3 li
  • 如何在依赖检查之前运行 Maven 插件

    我想在依赖项检查之前运行 maven install plugin 我怎样才能做到这一点 插件配置
  • 如何删除轮廓 mat-form-field 边框角半径

    我正在使用角材料轮廓垫形式场来设计形式 我得到了带有边框角半径的默认 mat form field 轮廓文本框视图 有什么方法可以删除轮廓 mat form field 的边框角半径并转换为方形文本框视图 我尝试使用以下内容更改角度材料 m
  • 在 XPath 中通过 concat() 换行(\n)?

    所以我的系统中有一个员工的 XML 文档
  • 如何在phpmyadmin中设置max_allowed_pa​​cket?

    我必须改变max allowed packetMySQL 中的大小使用phpmyadmin 但我不知道该怎么做 当我尝试时set global max allowed packet 10M in phpmyadmin它给出了这个错误 122
  • RMI 中可以通过引用传递吗?

    我读过各种有关使用 RMI 传递变量的文章 有些人说在 RMI 中不可能通过引用传递变量 例如 this one and this one 而其他人则说这是可能的 例如 this one this one and this one 有人可以
  • 使用唯一/随机名称存储文件

    使用新的 Firebase API 您可以从客户端代码将文件上传到云存储 这examples假设文件名在上传期间是已知的或静态的 Create a root reference var storageRef firebase storage
  • 如何使用语言环境将日期转换为 go 中的字符串?

    我这样将日期转换为字符串 d Format Mon 02 Jan 我得到类似的东西 Fri 27 Jan 如何切换区域设置并获取其他语言的字符串 你不能 Go 标准库不包含本地化的月份 日期和区域名称 这些名称被连接到time包裹 例如 返
  • NHibernate 无法将 MySQL 日期/时间值转换为 System.DateTime

    我收到 无法将 MySQL 日期 时间值转换为 System DateTime 错误 因为据我所知 我有一条 0000 00 00 00 00 00 的记录 现在 虽然数据不应该是这样的 它应该为空 但在某些情况下可能会发生这种情况 我不希
  • 如何从googletest中的异常中获取回溯信息?

    我正在尝试做一些半测试驱动的设计 有时当我实现一个新功能时 它会在某个地方出现异常 gtest 告诉我的只是异常是什么 并且没有给我任何回溯信息 如果我运行 gdb args gtest catch exceptions 0 它将在出现异常
  • 如何根据对象的属性对 json 或 jsonb 值内的数组中的对象进行排序?

    我有这个 pl pgsql 函数来聚合两个表中的行jsonb value data table 1 and data table 2 fk id是两个表中的公共外键 id DECLARE v my variable 1 jsonb v my
  • 127 及以上范围的正则表达式模式

    我需要一个正则表达式 使其匹配以下加上任何高于 127 的 ascii 即 7F 十六进制及以上 对于给定范围 以下效果很好 string pattern x00 x1F 尝试使用 or 运算符 管道 string pattern x00
  • 使用 javascript/jquery 生成页码?

    如何使用 javascript jquery 生成如下页码 如果选择第 5 页 我必须显示 3 4 和 6 7 以及 1 最后一页以及上一页 下一页 任何建议 EDIT 如何处理使用这些分页 div 的 json 数据 即 我的json数据