当前位置: 首页 > news >正文

html table+css实现可编辑表格

要实现可编辑的 HTML 表格,你可以使用 JavaScript 和 HTML5 的 contenteditable 属性。

<!DOCTYPE html>
<html>
<head>
    <style>
        table {
            border-collapse: collapse;
            width: 100%;
        }
        
        th, td {
            border: 1px solid black;
            padding: 8px;
            text-align: left;
        }
    </style>
</head>
<body>
    <table id="editableTable">
        <thead>
            <tr>
                <th>Name</th>
                <th>Age</th>
                <th>Gender</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td contenteditable="true">John Doe</td>
                <td contenteditable="true">25</td>
                <td contenteditable="true">Male</td>
            </tr>
            <tr>
                <td contenteditable="true">Jane Smith</td>
                <td contenteditable="true">30</td>
                <td contenteditable="true">Female</td>
            </tr>
            <!-- 添加更多行 -->
        </tbody>
    </table>

    <script>
        // 获取可编辑表格
        var table = document.getElementById('editableTable');
        
        // 遍历表格,为每个单元格添加事件侦听器
        for (var i = 0; i < table.rows.length; i++) {
            for (var j = 0; j < table.rows[i].cells.length; j++) {
                table.rows[i].cells[j].addEventListener('input', function () {
                    // 处理输入事件,可以在此处进行逻辑处理或保存数据
                    console.log(this.textContent);
                });
            }
        }
    </script>
</body>
</html>

在上述示例中,使用了 contenteditable 属性来使表格单元格可编辑。添加 contenteditable="true" 属性的单元格可以被鼠标点击并接受用户输入。

JavaScript 部分遍历表格的所有单元格,并为每个单元格添加输入事件侦听器。在输入事件处理程序中,你可以根据需要处理用户的输入,比如更新数据或触发其他操作。

点击表格前:

点击表格后:

http://www.dtcms.com/a/5766.html

相关文章:

  • 如何使用宝塔面板+Discuz+cpolar内网穿透工具搭建可远程访问论坛服务
  • 写一个java状态模式的详细实例
  • 怎么实现Servlet的自动加载
  • 卸载了Visual Studio后,在vscode中执行npm i或npm i --force时报错,该怎么解决?
  • log4j学习
  • 鸿蒙开发中的坑(持续更新……)
  • cfa一级考生复习经验分享系列(十一)
  • 低时延,可扩展的 l4s 拥塞控制算法
  • MySQL——内置函数
  • 【SpringCloud笔记】(10)消息总线之Bus
  • 分支限界法求解01背包(优先队列)【java】
  • 2023年第七届强网杯初赛 WP
  • Python期末复习第一章——概述
  • vmware安装中标麒麟高级服务器操作系统 V7.0
  • 动物分类识别教程+分类释义+界面展示
  • 【排序算法】C语言实现选择排序与冒泡排序
  • OpenEuler安装内网穿透工具实现ssh连接openEuler系统
  • pip install multiprocessing报错子进程错误error: metadata-generation-failed
  • IP代理科普| 共享IP还是独享IP?两者的区别与优势
  • C++哈希表的实现
  • Anylogic Pro 8.8.x for Mac / for Linux Crack
  • DOM and XPATH
  • linux中主从复制的架构和读写分离的方式
  • SpaceDesk如何连接平板/PC(生产力副屏)
  • 禁止选择当天及以后的时间
  • Prometheus node_exporter计算CPU利用率的标准公式应该是哪一个
  • 如何与听力损失者沟通
  • kafka发送大消息
  • 【开源】基于JAVA的学校热点新闻推送系统
  • 时间和空间复杂度