js动态修改表格数据

使用js在表格个内进行动态修改,需要再点击每一个td的时候在每个td里动态的添加一个input文本框
然后把input的样式设计一下与td的宽度和高度一致去掉input的内外边框和outline

点击修改可直接在表格重修改操作。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title><style>#tb{width: 600px;margin: 100px auto;text-align: center;}.header{background-color: aqua;color: white;}#tb td{width: 100px;}input{width: 99%;height: 10px;outline: none;/*border: none;*/}</style><script>window.onload = function(){var tb = document.getElementById('tb');var allA = tb.getElementsByTagName('a');//给每一个a绑定事件for(let i = 0;i<allA.length;i++){allA[i].onclick = function(){//获取该a的trvar tr = this.parentNode.parentNode;var tds = tr.getElementsByTagName('td');//获取到每一个td为他们绑定点击事件for(let i = 0;i<tds.length - 1;i++){tds[i].index = i; // 为下面下标准备tds[i].onclick = function(event){var evt = event||window.event;//这一行很重要防止多次点击出现错误,只有第一次点击td时才能触发,//当然这个需要配合上面的input的样式刚好和td的高度和宽度一样,这样才能防止误触if(evt.target.tagName.toLowerCase() == "td"){var input = document.createElement('input');input.value = this.innerHTML;tds[this.index].innerHTML = ''; //清除td中原有的文字tds[this.index].appendChild(input); input.focus(); //获取焦点}//失去焦点保存,如果数据是动态获取的则可以在这个里面操作数据input.onblur = function(){this.parentNode.innerHTML = this.value;tds[i].onclick = null;}}}}}}</script>
</head>
<body><table border="1" cellpadding="0" cellspacing="0" id="tb"><tr class="header"><td>123</td><td>123</td><td>123</td><td>123</td><td>123</td><td>操作</td></tr><tr><td>123</td><td>123</td><td>123</td><td>123</td><td>123</td><td><a href="javascript:;">修改</a></td></tr><tr><td>123</td><td>123</td><td>123</td><td>123</td><td>123</td><td><a href="javascript:;" >修改</a></td></tr><tr><td>123</td><td>123</td><td>123</td><td>123</td><td>123</td><td><a href="javascript:;" >修改</a></td></tr></table>
</body>
</html>

实际中,真正的数据肯定是从后台动态获取的,表格也是动态生成的,对于json的操作在可以设置为在失去焦点后,也可以用其他更好的方法,对json数据进行操作。

js动态修改表格数据相关推荐

  1. 使用JS动态生成表格数据和分页显示

    根据录入的内容动态显示到页面,不需要通过数据库保存,这样子减轻服务器压力.同时如果数据过多,支持分页显示,这些数据到保存时可以一起提交到后台. 效果如下: js代码(要引入JQuery): <! ...

  2. LayUI表格在线编辑动态修改列数据

    LayUI表格在线编辑动态修改列数据 每次只能修改指定属性是 edit 定义的 列 {field:'aname', width:80, title: '昵称', minWidth: 100, edit ...

  3. html怎么自动导入数据并排序,JS实现table表格数据排序功能(可支持动态数据+分页效果)...

    asp.net会经常遇到分页的效果,尤其是希望实现静态的html分页排序(html分页相信大家都已经有自己的解决方案.在这里就不多说).我写了一个简单的Demo排序. 数据就是字母和数字两组.(汉字需 ...

  4. 微信会员卡html修改样式模板,微信小程序 JS动态修改样式的实现代码

    微信小程序这个坑啊,js动态修改样式,我们并不能用js或者jq 轻轻松松一行代码搞定.或者用removeClass addClass 来修改样式. 以下是一种动态修改样式的方法,原理是绑定数据,然后动 ...

  5. js动态生成表格(原创)

    原文:js动态生成表格(原创) 源代码下载地址:http://www.zuidaima.com/share/1571860936543232.htm 原生js实现,兼容各主流浏览器,提供生成表格,修改 ...

  6. js动态创建表格以及赋值

    1.使用js动态创建表格 (1)不可编辑的表格 function creatTableA() {var tbody = document.querySelector('#tableA');for (v ...

  7. JS动态修改页面EasyUI datebox不生效、EasyUI动态添加Class、EasyUI动态渲染解析解决方案

    JS动态修改页面EasyUI datebox不生效.EasyUI动态添加Class.EasyUI动态渲染解析解决方案 参考文章: (1)JS动态修改页面EasyUI datebox不生效.EasyUI ...

  8. IOS小组件(4-2):创建可配置小组件(动态修改配置数据)

    IOS小组件(4-2):创建可配置小组件(动态修改配置数据) 引言 在项目中添加"Intens Extension" 在 xxx.intentdefinition文件中增加一个动态 ...

  9. js动态删除表格中的某一行

    js动态删除表格中的某一行 <!DOCTYPE html> <html lang="en"> <head><meta charset=&q ...

最新文章

  1. lattice LFE3-17EA 调试记录
  2. 大数据能力提升项目| 学生成果展系列之三
  3. android 原色调渲染
  4. 猜数字游戏python程序用函数guesssecret_Python-三、函数
  5. java程序员饱和了吗?
  6. 在Rayeager px2上搭建web服务器anmpp
  7. 三星显示、LG已开始为苹果iPhone 13生产OLED屏幕
  8. node.js发送html,利用Node.JS实现邮件发送功能
  9. android5.0刷机,真快!努比亚手机更新安卓5.0(附刷机方法)
  10. Linux media子系统
  11. 2-5暴力破解防范措施和防范误区
  12. 岁月划过生命线(2016 年终总结 -季度之星)
  13. WPS的Excel做一个下拉选择功能
  14. 闲鱼商品详情抓取系统开发/测试完毕,可自动采集闲鱼商品详情信息
  15. 413 request entity too large php,413 Request Entity Too Large
  16. 华为路由器:AR1200真机忘记Console口密码的处理方法全过程演示
  17. 视频转文字如何操作?几种方法带你了解如何视频转文字
  18. d我读过的(股票)书籍
  19. Android通信方式
  20. 商铺招租推广策略商铺招租的方案

热门文章

  1. 石油大学华东matlab王海燕,中石大获2019全国三维数字化创新设计大赛年度总决赛二等奖...
  2. 【校招篇】招聘季来临,金三银四你准备好了吗?
  3. SAP同略会:主角SAP HANA的创新口号
  4. 二黑告别了鹅厂,回去老家当富豪!
  5. 百趣代谢组学资讯:@熬夜的年轻人代谢紊乱急救包-喝普洱茶!
  6. xcpc近年铜牌题补题路
  7. Bugku 哥哥的秘密
  8. zerotier异地搭建组网
  9. 比洗牙更好 教你5分钟消灭牙垢
  10. ff14 掉线 服务器维护,《FF14》29日更新维护 暂不推出手工补丁