从假数据到动态表格:一个简单的JavaScript和HTML示例

简介: 从假数据到动态表格:一个简单的JavaScript和HTML示例

一、背景介绍

在Web开发中,我们经常需要处理和展示数据。有时,这些数据是真实的,但有时它们可能是假的(例如,为了演示或测试目的)。本文将向您展示如何使用假数据创建一个动态的HTML表格,并使用JavaScript为其添加交互功能。

二、创建假数据

首先,我们需要一些假数据。在JSON格式中,我们可以创建一个简单的对象,其中包含多个项目,每个项目都有一个ID、名称和类型。以下是一个示例:

{  
  "items": [  
    {  
      "id": 1,  
      "name": "Item 1",  
      "type": "Type A"  
    },  
    {  
      "id": 2,  
      "name": "Item 2",  
      "type": "Type B"  
    },  
    // ... 更多数据  
  ]  
}

 

三、创建HTML表格

接下来,我们需要创建一个HTML表格来显示这些数据。在表格中,我们为每个项目添加一个行(<tr>),其中包含三个单元格(<td>):一个用于显示ID,一个用于显示名称,另一个用于显示类型。

由于我们希望每页显示10条数据,我们将在JavaScript中实现分页逻辑。同时,我们还将添加一个搜索框、一个重置按钮和两个筛选按钮,以允许用户根据名称和类型筛选数据。

首先,我们需要一个HTML文件来布局表格和按钮。这里是一个简单的HTML模板:

<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <meta name="viewport" content="width=device-width, initial-scale=1.0">  
    <title>假数据表格</title>  
    <link rel="stylesheet" href="styles.css"> <!-- 引入CSS样式表 -->  
</head>  
<body>  
    <input type="text" id="search-input" onkeyup="filterTable()" placeholder="搜索名称"> <!-- 搜索框 -->  
    <button onclick="resetFilter()">重置</button> <!-- 重置按钮 -->  
    <button onclick="filterByType('Type A')">Type A</button> <!-- 按类型筛选按钮 -->  
    <button onclick="filterByType('Type B')">Type B</button> <!-- 按类型筛选按钮 -->  
    <table id="data-table">  
        <thead>  
            <tr>  
                <th>ID</th>  
                <th>名称</th>  
                <th>类型</th>  
            </tr>  
        </thead>  
        <tbody id="table-body">  
            <!-- 数据将在此处动态添加 -->  
        </tbody>  
    </table>  
  
    <script src="script.js"></script> <!-- 引入JavaScript脚本 -->  
</body>  
</html>

然后,我们需要一个CSS文件(styles.css)来美化表格和按钮:

/* styles.css */  
body {  
    font-family: Arial, sans-serif;  
}  
  
input[type="text"] {  
    padding: 5px;  
    width: 200px;  
}  
  
table {  
    width: 100%;  
    border-collapse: collapse;  
}  
  
th, td {  
    border: 1px solid #ddd;  
    padding: 8px;  
    text-align: left;  
}  
  
th {  
    background-color: #f2f2f2;  
}  
  
button {  
    padding: 8px 16px;  
    font-size: 16px;  
    margin-bottom: 10px;  
}

最后,我们需要一个JavaScript文件(script.js)来处理数据过滤和表格的动态更新:

// script.js  
// 假设这是从服务器获取的数据,或者您可以将其替换为从localStorage等获取数据的逻辑  
const items = [  
    { id: 1, name: 'Item 1', type: 'Type A' },  
    { id: 2, name: 'Item 2', type: 'Type B' },  
    // ... 更多数据项  
];  
  
// 初始化表格  
function initTable() {  
    const tableBody = document.getElementById('table-body');  
    tableBody.innerHTML = ''; // 清空表格内容  
    items.forEach((item, index) => {  
        if (index < 10) { // 每页默认显示10条数据  
            const row = document.createElement('tr');  
            row.innerHTML = `  
                <td>${item.id}</td>  
                <td>${item.name}</td>  
                <td>${item.type}</td>  
            `;  
            tableBody.appendChild(row);  
        }  
    });  
}  
  
// 根据名称搜索过滤表格  
function filterTable() {  
    const input = document.getElementById('search-input');  
    const filter = input.value.toUpperCase();  
    const table = document.getElementById('data-table');  
    const rows = table.getElementsByTagName('tr');  
  
    for (let i = 1; i < rows.length; i++) { // 从第二行开始(跳过表头)  
        const name = rows[i].getElementsByTagName('td')[1].innerText.toUpperCase();  
        if (name.indexOf(filter) > -1) {  
            rows[i].style.display = '';  
        } else {  
            rows[i].style.display = 'none';  
        }  
    }  
}  
  
// 重置表格到初始状态  
function resetFilter() {  
    initTable(); // 重新初始化表格  
    document.getElementById('search-input').value = ''; // 清空搜索框  
}  
  
// 根据

四、总结

通过结合假数据、HTML、CSS和JavaScript,我们可以创建一个功能强大且动态的表格。这个表格可以根据用户的需求进行过滤和排序,提供更好的用户体验。此外,由于我们使用的是假数据,这使得在开发过程中不需要担心数据的完整性和准确性。这种方法对于原型设计、演示或测试非常有用。

相关文章
|
20天前
|
移动开发 JavaScript 前端开发
html table+css实现可编辑表格的示例代码
html table+css实现可编辑表格的示例代码
|
21天前
|
前端开发 JavaScript 安全
HTML+CSS+JS密码灯登录表单
通过结合使用HTML、CSS和JavaScript,我们创建了一个带有密码强度指示器的登录表单。这不仅提高了用户体验,还帮助用户创建更安全的密码。希望本文的详细介绍和代码示例能帮助您在实际项目中实现类似功能,提升网站的安全性和用户友好性。
35 3
|
24天前
|
JavaScript
JS鼠标框选并删除HTML源码
这是一个js鼠标框选效果,可实现鼠标右击出现框选效果的功能。右击鼠标可拖拽框选元素,向下拖拽可实现删除效果,简单实用,欢迎下载
38 4
|
23天前
|
移动开发 HTML5
html5+three.js公路开车小游戏源码
html5公路开车小游戏是一款html5基于three.js制作的汽车开车小游戏源代码,在公路上开车网页小游戏源代码。
53 0
html5+three.js公路开车小游戏源码
|
1月前
|
JSON 移动开发 数据格式
html5+css3+js移动端带歌词音乐播放器代码
音乐播放器特效是一款html5+css3+js制作的手机移动端音乐播放器代码,带歌词显示。包括支持单曲循环,歌词显示,歌曲搜索,音量控制,列表循环等功能。利用json获取音乐歌单和歌词,基于html5 audio属性手机音乐播放器代码。
95 6
HTML 表格4
HTML 表格标签用于创建和布局表格。主要标签包括:`&lt;table&gt;` 定义表格,`&lt;th&gt;` 定义表头,`&lt;tr&gt;` 定义行,`&lt;td&gt;` 定义单元格,`&lt;caption&gt;` 定义标题,`&lt;colgroup&gt;` 和 `&lt;col&gt;` 定义列属性,`&lt;thead&gt;`、`&lt;tbody&gt;` 和 `&lt;tfoot&gt;` 分别定义表格的页眉、主体和页脚。
|
29天前
|
数据采集 存储 JavaScript
如何使用Puppeteer和Node.js爬取大学招生数据:入门指南
本文介绍了如何使用Puppeteer和Node.js爬取大学招生数据,并通过代理IP提升爬取的稳定性和效率。Puppeteer作为一个强大的Node.js库,能够模拟真实浏览器访问,支持JavaScript渲染,适合复杂的爬取任务。文章详细讲解了安装Puppeteer、配置代理IP、实现爬虫代码的步骤,并提供了代码示例。此外,还给出了注意事项和优化建议,帮助读者高效地抓取和分析招生数据。
如何使用Puppeteer和Node.js爬取大学招生数据:入门指南
|
1月前
|
JavaScript API 开发工具
<大厂实战场景> ~ Flutter&鸿蒙next 解析后端返回的 HTML 数据详解
本文介绍了如何在 Flutter 中解析后端返回的 HTML 数据。首先解释了 HTML 解析的概念,然后详细介绍了使用 `http` 和 `html` 库的步骤,包括添加依赖、获取 HTML 数据、解析 HTML 内容和在 Flutter UI 中显示解析结果。通过具体的代码示例,展示了如何从 URL 获取 HTML 并提取特定信息,如链接列表。希望本文能帮助你在 Flutter 应用中更好地处理 HTML 数据。
105 1
HTML 表格2
本示例展示了如何使用 HTML 的 `&lt;table&gt;` 标签和 `border` 属性创建一个带有边框的简单表格。表格包含两行两列,每行有两个单元格,通过设置 `border=&quot;1&quot;` 显示边框。
|
1月前
|
前端开发
HTML 表格1
HTML 表格是用于展示结构化数据的标记语言元素,由 `&lt;table&gt;` 标签定义。表格包含行(`&lt;tr&gt;`)、单元格(`&lt;td&gt;`)和表头(`&lt;th&gt;`)。表格可细分为 `&lt;thead&gt;`(标题部分)和 `&lt;tbody&gt;`(主体部分),支持合并单元格、跨行/跨列操作及 CSS 样式定制。