【发布时间】:2013-02-19 00:43:02
【问题描述】:
假设我有一张这样的桌子:
<table>
<thead>
<tr><th>Customer</th><th>Order</th><th>Month</th></tr>
</thead>
<tbody>
<tr><td>Customer 1</td><td>#1</td><td>January</td></tr>
<tr><td>Customer 1</td><td>#2</td><td>April</td></tr>
<tr><td>Customer 1</td><td>#3</td><td>March</td></tr>
</tbody>
<tbody>
<tr><td>Customer 2</td><td>#1</td><td>January</td></tr>
<tr><td>Customer 2</td><td>#2</td><td>April</td></tr>
<tr><td>Customer 2</td><td>#3</td><td>March</td></tr>
</tbody>
<tbody>
<tr><td>Customer 3</td><td>#1</td><td>January</td></tr>
<tr><td>Customer 3</td><td>#2</td><td>April</td></tr>
<tr><td>Customer 3</td><td>#3</td><td>March</td></tr>
</tbody>
....
.... 1000s of records like this
</table>
有没有一种方法可以基于tbody 元素进行分页?例如,我想在第 1 页显示前 50 条记录,依此类推。是否有一个 jQuery 插件已经可以做到这一点,或者我应该自己编写?有什么建议吗?
【问题讨论】:
-
使用 JavaScript 处理页面上的 1000 个元素是矫枉过正,为什么不在服务器端这样做呢?
-
我不知道该结构的特定分页器。自己写应该不会太难。数学很简单,jQuery 使选择/显示/隐藏变得微不足道。大约 3 小时的工作经过全面测试。
-
datatables.net 有分页选项。
-
@undefined:所以如果我理解正确,即使获取数据并保留在客户端(以供将来渲染)也是昂贵的,所以你建议我在服务器端实现分页并获取要在当前页面上显示的数据?
-
最初只隐藏除第一个 tbody 之外的所有 tbody,并为表格中的每个 tbody 添加一个页面链接,显示该特定 tbody 并在点击时隐藏其余部分。 jQuery 应该使这相对容易。不过,我更喜欢使用 ajax 和服务器进行分页,以防止向用户发送大量用户可能不会使用的数据。
标签: javascript jquery html css html-table