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

相关文章
|
2天前
|
存储 数据采集 JSON
你知道吗?html_table可以提取的不止是表格
`html_table` 是一种强大的工具,不仅用于HTML表格解析,还在现代爬虫技术中发挥重要作用。它可以提取、整合、分析和传输多种类型的关键数据。本文从四个方面探讨其功能:关键数据提取(如财经网站的股票信息)、零散信息整合(如电商网站的产品详情)、数据对比分析(如手机性能参数对比)和数据存储与传输(如转换为CSV/JSON格式)。通过Python代码示例,展示了如何利用代理IP、多线程和自定义请求头提高爬虫效率,实现对复杂网页数据的全面抓取和利用。
19 12
你知道吗?html_table可以提取的不止是表格
|
22天前
|
数据采集 前端开发 数据挖掘
利用 html_table 函数轻松获取网页中的表格数据
本文介绍了如何使用 R 语言中的 `html_table` 函数结合代理 IP 技术,轻松提取网页表格数据并规避反爬机制。通过设置代理和请求头,示例代码展示了如何从 58 同城采集租房信息并保存为 CSV 文件。该方法适用于需要频繁采集数据的场景,确保数据采集的高效和稳定性。
利用 html_table 函数轻松获取网页中的表格数据
|
1月前
|
Web App开发 移动开发 HTML5
html5 + Three.js 3D风雪封印在棱镜中的梅花鹿动效源码
html5 + Three.js 3D风雪封印在棱镜中的梅花鹿动效源码。画面中心是悬浮于空的梅花鹿,其四周由白色线段组成了一个6边形将中心的梅花鹿包裹其中。四周漂浮的白雪随着多边形的转动而同步旋转。建议使用支持HTML5与css3效果较好的火狐(Firefox)或谷歌(Chrome)等浏览器预览本源码。
79 2
|
2月前
|
移动开发 JavaScript 前端开发
html table+css实现可编辑表格的示例代码
html table+css实现可编辑表格的示例代码
84 12
|
2月前
|
监控 JavaScript 算法
深度剖析 Vue.js 响应式原理:从数据劫持到视图更新的全流程详解
本文深入解析Vue.js的响应式机制,从数据劫持到视图更新的全过程,详细讲解了其实现原理和运作流程。
|
2月前
|
前端开发 JavaScript 安全
HTML+CSS+JS密码灯登录表单
通过结合使用HTML、CSS和JavaScript,我们创建了一个带有密码强度指示器的登录表单。这不仅提高了用户体验,还帮助用户创建更安全的密码。希望本文的详细介绍和代码示例能帮助您在实际项目中实现类似功能,提升网站的安全性和用户友好性。
55 3
|
2月前
|
JavaScript
JS鼠标框选并删除HTML源码
这是一个js鼠标框选效果,可实现鼠标右击出现框选效果的功能。右击鼠标可拖拽框选元素,向下拖拽可实现删除效果,简单实用,欢迎下载
49 4
|
2月前
|
移动开发 HTML5
html5+three.js公路开车小游戏源码
html5公路开车小游戏是一款html5基于three.js制作的汽车开车小游戏源代码,在公路上开车网页小游戏源代码。
71 0
html5+three.js公路开车小游戏源码
|
2月前
|
JSON 移动开发 数据格式
html5+css3+js移动端带歌词音乐播放器代码
音乐播放器特效是一款html5+css3+js制作的手机移动端音乐播放器代码,带歌词显示。包括支持单曲循环,歌词显示,歌曲搜索,音量控制,列表循环等功能。利用json获取音乐歌单和歌词,基于html5 audio属性手机音乐播放器代码。
144 6
|
2月前
|
JSON JavaScript 关系型数据库
node.js连接GBase 8a 数据库 并进行查询代码示例
node.js连接GBase 8a 数据库 并进行查询代码示例
下一篇
开通oss服务