1、采用ejs制作一个具有分页功能的表格组件。 2、表格数据从Web服务器获取。生成代码
时间: 2023-12-18 19:02:25 浏览: 152
jQuery表格数据分页插件代码.zip
好的,以下是一个简单的采用 EJS 制作具有分页功能的表格组件,表格数据从 Web 服务器获取的示例代码:
HTML 文件(index.html):
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>分页表格</title>
<!-- 引入 jQuery 库 -->
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<!-- 引入分页插件样式文件 -->
<link rel="stylesheet" href="https://unpkg.com/paginationjs/dist/pagination.min.css">
</head>
<body>
<div id="table-container"></div>
<!-- 引入分页插件 JavaScript 文件 -->
<script src="https://unpkg.com/paginationjs/dist/pagination.min.js"></script>
<script src="script.js"></script>
</body>
</html>
```
EJS 模板文件(table.ejs):
```html
<table>
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Age</th>
</tr>
</thead>
<tbody>
<% for(var i = 0; i < data.length; i++) { %>
<tr>
<td><%= data[i].id %></td>
<td><%= data[i].name %></td>
<td><%= data[i].age %></td>
</tr>
<% } %>
</tbody>
</table>
<div id="pagination-container"></div>
```
JavaScript 文件(script.js):
```js
$(function() {
// 定义每页显示的数据条数
var pageSize = 10;
// 获取数据总数和总页数
$.get('/get-data-count', function(dataCount) {
var pageCount = Math.ceil(dataCount / pageSize);
// 初始化分页插件
$('#pagination-container').pagination({
dataSource: function(done) {
// 获取当前页的数据
var pageIndex = this.pageNumber - 1;
$.get('/get-data?pageIndex=' + pageIndex + '&pageSize=' + pageSize, function(data) {
done(data);
});
},
pageSize: pageSize,
totalNumber: dataCount,
callback: function(data, pagination) {
// 渲染表格数据
var html = ejs.render($('#table-template').html(), {data: data});
$('#table-container').html(html);
}
});
});
});
```
说明:
1. `index.html` 文件中引入了 jQuery 库和分页插件的样式和 JavaScript 文件。
2. `table.ejs` 文件中定义了表格的 HTML 结构和分页的 HTML 结构,使用 EJS 语法渲染表格数据。
3. `script.js` 文件中使用 jQuery 发起 AJAX 请求获取数据总数和总页数,然后初始化分页插件,并在分页回调函数中渲染表格数据。
4. 服务端代码需要提供两个接口,一个是获取数据总数的接口 `/get-data-count`,另一个是获取当前页数据的接口 `/get-data`,请求参数包括当前页码和每页显示的数据条数。
以上代码仅供参考,需要根据实际情况进行修改和优化。
阅读全文