iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >js实现单击可修改表格
  • 700
分享到

js实现单击可修改表格

2024-04-02 19:04:59 700人浏览 安东尼
摘要

纯js实现单击可修改表格(类似成绩单),供大家参考,具体内容如下 功能:实现成绩单单击表格可对数据进行修改且对输入的数字大小有验证例如不小于0不大于100,总分栏会对总分进行求和(利

js实现单击可修改表格(类似成绩单),供大家参考,具体内容如下

功能:实现成绩单单击表格可对数据进行修改且对输入的数字大小有验证例如不小于0不大于100,总分栏会对总分进行求和(利用了es6的模板字符串)。

实现效果:

代码:


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta Http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        table{
            margin: 0 auto;
            z-index:999999;
            border-collapse: collapse;
        }
        th {
         background-color: #4CAF50;
         
         color: white;
}
        table th,tr,td{
            width:100px;
            text-align: center;
        }
        table input{
            border:none;
            outline: none;
            width: 100%;
        }
        .inputClass{
            width:80px;
            height:100%
        }

    </style>
</head>
<body>
    <div style="position: relative;margin-top: 200px;text-align:center">
        <h2 style="margin-bottom: 50px;">成绩登记表</h2>
        <div >
            <table border="1">
                <thead>
                    <th>学号</th>
                    <th>姓名</th>
                    <th>语文</th>
                    <th>数学</th>
                    <th>英语</th>
                    <th>总分</th>
                </thead>
                <tbody>
                </tbody>
            </table>
        </div>
    </div>
</body>
<script>
    // 数组
    let data = [
        {
            id:1101,
            name:'小王',
            Chinese:100,
            Math:80,
           English:91,
            total:271
        },
        {
            id:1102,
            name:'小曾',
            Chinese:88,
            Math:87,
            English:92,
            total:267
        },
        {
            id:1103,
            name:'小赵',
            Chinese:75,
            Math:20,
            English:86,
            total:181
        },
        {
            id:1104,
            name:'小周',
            Chinese:65,
            Math:81,
            English:83,
            total:229
        }
    ]
    window.onload = function(){
        initdata()
    }
    //初始化数据
    // 模板填入数据
    function initdata(){
        let tbodyinner = document.getElementsByTagName("tbody")[0]
        let html = ''
        for(let i=0;i<data.length;i++){
            html+=`
            <tr>
                <td>${data[i].id}</td>
                <td>${data[i].name}</td>
                <td name="grade" class="chinese">${data[i].Chinese}</td>
                <td name="grade" class="math">${data[i].Math}</td>
                <td name="grade" class="english">${data[i].English}</td>
                <td class="allscore">${parseInt(data[i].Chinese)+parseInt(data[i].Math)+parseInt(data[i].English)}</td>
            </tr>
            `
        }
        // tbody.innerHTML="..."往tbody中添加内容
        tbodyinner.innerHTML = html
        getnode()
    }
    // 监听click事件
    function getNode(){
        let subject = document.getElementsByName("grade")
        for(let i=0;i<subject.length;i++){
            subject[i].addEventListener('click',function(){
                edit(this)
            })
        }
    }
    //鼠标 移入点
    function edit(i){
        let inputlen = document.getElementsByTagName('input').length
        let oldvalue = i.innerHTML
        if(inputlen==0){
            // 设置该标签为空
            i.innerHTML = ''
            // 添加input对象
            let inp = document.createElement("input")
            inp.value = oldvalue
            inp.classList.add("inputClass")
            // 添加子节点
            i.appendChild(inp)
            // 获取文本中的内容
            inp.select()
            // 失去焦点事件
            inp.onblur = function(){
                if(inp.value<=100&&inp.value>=0){
                    i.innerHTML = inp.value
                    let val1 = i.parentNode.childNodes[5].innerHTML
                    let val2 = i.parentNode.childNodes[7].innerHTML
                    let val3 = i.parentNode.childNodes[9].innerHTML
                    i.parentNode.childNodes[11].innerHTML = parseInt(val1)+parseInt(val2)+parseInt(val3)
                }else{
                 
                    return alert("数据值不对,请重新输入!");
                }
            }
        }
    }
</script>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: js实现单击可修改表格

本文链接: https://www.lsjlt.com/news/124253.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • js实现单击可修改表格
    纯js实现单击可修改表格(类似成绩单),供大家参考,具体内容如下 功能:实现成绩单单击表格可对数据进行修改且对输入的数字大小有验证例如不小于0不大于100,总分栏会对总分进行求和(利...
    99+
    2024-04-02
  • js如何实现单击可修改表格
    小编给大家分享一下js如何实现单击可修改表格,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!js的作用是什么1、能够嵌入动态文本于HTML页面。2、对浏览器事件做出...
    99+
    2023-06-14
  • JS怎么实现动态修改table及合并单元格
    小编给大家分享一下JS怎么实现动态修改table及合并单元格,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体如下:<!D...
    99+
    2024-04-02
  • js+Html实现表格可编辑操作
    本文实例为大家分享了js+Html实现表格可编辑操作的具体代码,供大家参考,具体内容如下 功能描述:单击页面使单元格td变成可编辑状态,输入内容后,当单元格失去焦点时,保存输入的内容...
    99+
    2024-04-02
  • element-ui表格如何实现单元格可编辑
    这篇文章主要介绍element-ui表格如何实现单元格可编辑,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!如下所示:<template>  <el-tab...
    99+
    2024-04-02
  • js+Html如何实现表格可编辑操作
    这篇文章主要介绍了js+Html如何实现表格可编辑操作,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。功能描述:单击页面使单元格td变成可编辑状态,输入内容后,当单元格失去焦点...
    99+
    2023-06-14
  • JS的Form表单转JSON格式如何实现
    今天小编给大家分享的是JS的Form表单转JSON格式如何实现,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。目录一、serialize()方法二、serializeArray()方法...
    99+
    2023-07-06
  • PHP实现表单数据修改的实例
    在网站开发中,表单是必不可少的组件之一。而在表单的处理过程中,会出现需要修改表单数据的情况。本文将介绍使用PHP实现表单数据修改的实例。创建修改表单页面首先,我们需要创建一个包含要修改数据的表单页面。在该页面中,需要显示需要修改的表单数据,...
    99+
    2023-05-14
  • PHP怎么实现表单数据修改
    这篇文章主要介绍“PHP怎么实现表单数据修改”,在日常操作中,相信很多人在PHP怎么实现表单数据修改问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP怎么实现表单数据修改”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-07-05
  • JS实现填报时怎么对修改过的单元格进行标识
    这期内容当中小编将会给大家带来有关JS实现填报时怎么对修改过的单元格进行标识,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 描述在填报预览时,对单元格编辑后,其左上角有个红色标记,但非常不明显,用户很难注...
    99+
    2023-06-03
  • React+Antd 实现可增删改表格的示例
    目录Table/index.jsTable/model/index.jsTable/model/modules/base.jsTable/model/modules/editTabl...
    99+
    2024-04-02
  • Layui如何实现表格监听行单双击事件
    这篇文章主要为大家展示了“Layui如何实现表格监听行单双击事件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Layui如何实现表格监听行单双击事件”这篇文章吧...
    99+
    2024-04-02
  • ElementPlus怎么修改表格行和单元格样式
    这篇文章主要介绍“ElementPlus怎么修改表格行和单元格样式”,在日常操作中,相信很多人在ElementPlus怎么修改表格行和单元格样式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ElementPl...
    99+
    2023-06-30
  • vue中用js如何实现循环可编辑表格
    目录vue用js实现循环可编辑表格表格的需求简单总结一下就是vue用js实现循环可编辑表格 最近项目中需要实现一个很复杂的表格,尝试用组件写,半天写不出来,循环真的好绕,最后直接求助...
    99+
    2024-04-02
  • Python——openpyxl读取Excel表格(读取、单元格修改、单元格加底色)
    🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手 🏳️‍🌈 博客主页:一晌小贪欢的博客主页 👍 ...
    99+
    2023-10-26
    python excel 开发语言 python办公自动化 自动化
  • Element Plus修改表格行和单元格样式详解
    目录前言设置某一行的样式设置某一个单元格的样式表头样式修改(赠品)总结前言 实习工作需要根据表格的状态字段来设置行的样式,记录一波。 先来一下基础配置。(Vue3) <temp...
    99+
    2024-04-02
  • antdvue表格可编辑单元格以及求和实现方式
    目录antd vue表格可编辑单元格以及求和实现antd vue 表格可编辑问题总结antd vue表格可编辑单元格以及求和实现 1、参照官网根据自己需要添加可编辑单元格组件 新建E...
    99+
    2023-05-17
    antd vue表格可编辑单元格 antd vue表格求和 antd vue表格可编辑
  • js实现表格拖动选项
    本文实例为大家分享了js实现表格拖动选项的具体代码,供大家参考,具体内容如下 题目要求如下图所示,具体思路:拖动改变选择项,用的的事件是js的拖动相关事件。 代码: <!...
    99+
    2024-04-02
  • JS实现表格隔行变色
    本文实例为大家分享了JS实现表格隔行变色的具体代码,供大家参考,具体内容如下 用到的鼠标事件:(1)鼠标经过 onmouseover;(2)鼠标离开 onmouseout 核心思路:...
    99+
    2024-04-02
  • Swift实现表格视图单元格单选(1)
    本文实例为大家分享了Swift实现表格视图单元格单选的具体代码,供大家参考,具体内容如下 效果展示 前言 最近一个朋友问我,如何实现表格视图的单选?因为我之前用Objective-...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作