jquery - DataTables滚动到带有ajax分页数据的行
问题描述
在 DataTables 中,我可以通过在我的 ajax 响应数据中<tr>
指定来自动为表的每一行添加一个 ID。DT_RowId
这意味着每一行都有一个id
属性,例如
<tr id="row_45">
<td>foo</td>
<td>bar</td>
</tr>
这在我的应用程序中很有用,因为这意味着我可以使用 URL,例如:/#row_45
并在页面顶部显示第 45 行。
如果行在第 1 页上,这可以正常工作。
我的应用程序每页显示 250 行,每个页面都是使用 ajax 请求生成的。有时有超过 1000 页。因此,如果我尝试以/#row_999
相同的方式打开第 999 行(),它不起作用,因为它的数据不在文档中。
我在“服务器端”模式下使用分页和数据表。这意味着页面加载时并不存在所有数据 - 使这个问题变得更加困难。如果我在分页中单击“第 3 页”,它会对记录 750 - 1000(每页 250 个)执行 ajax 请求。
有谁知道这是否有解决方法?
数据表版本 1.10.16
解决方案
这就是 StackOverflow 使用 URI 引用唯一实体并使用 DOM 标识符在浏览器呈现的网页中导航的方式。
https://stackoverflow.com/questions/55000320/datatable-with-filter-data-dynamically/55000876#comment96759679_55000876
您必须将类似的原则应用于您的应用程序。我认为 DataTables 文档,尤其是示例部分涵盖了服务器端处理模式的许多用例。
您必须将其设计到您的应用程序中。没有简单的解决方法。
文档
特色内容
推荐阅读
- c# - JIT SignalR Hub 发送和接收
- java - 如何将 HQL 放入实体中?
- image - rectifyStereoImages(图像校正)输出看起来失真
- ruby-on-rails - 由于 nil 值,Rails RSpec 功能测试失败,模型测试通过
- javascript - 通过拖放在输入中附加文件的问题
- android - React native Activity Indicator 仅在设备连接到笔记本电脑时有效
- c# - 添加脚本到游戏对象,找不到脚本
- ios - 通过 SKConstraint 使用 LERP 移动 SKCameraNode
- google-chrome-extension - 如何使用 Google Extension 选择从两个 DNS 服务器返回的 DNS A 记录,然后让 Chrome 连接到 A 记录 IP?
- r - 按列索引拆分为数据框列表