js动态添加表格逐行添加、删除、遍历取值的实例代码


Posted in Javascript onJanuary 25, 2018

关于js对表格进行逐行添加,今天抽空整理了一下:新建一个html文件(没有编辑器的可以新建一个demo.txt文件,然后改后缀名为demo.html),把下面代码全部贴进去即可。

功能包括:表格添加一行,表格删除一行,表格遍历取值等。

点击说明:点击添加按钮,则表格添加一行,可进行录入,删除按钮,可删除当前行,其他行不影响。删除或者添加,每行的的编号都会自动变化,套餐和价格是<input/>,内容是

<textarea></textarea>,点击保存按钮的时候,遍历表格中所有行,把所有行的数据取出来弹框弹出展示,后期可根据需求传递到后台进行处理。

效果图:

js动态添加表格逐行添加、删除、遍历取值的实例代码

源代码:

<!--
  Creator: WangPeng
  CreateTime : 2018-01-25
  去年今日此门中,人面桃花相映红。
  人面不知何处去,桃花依旧笑春风。
-->
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>动态增加表格</title>
</head>
<style>
  td /*设置表格文字左右和上下居中对齐*/
  {
    vertical-align: middle;
    text-align: center;
    padding: 9px;
  }
  textarea{
    min-height: 60px;
    min-width: 200px;
  }
</style>
<script type="text/javascript">
  function del(obj){
    if(document.getElementById('tbodyid').children.length>1){
    var trid=obj.parentNode.parentNode.id;
    var objtr=document.getElementById(trid);
    document.getElementById('tbodyid').removeChild(objtr);
    var tbody=document.getElementById('tbodyid');
    var countchildren=tbody.childElementCount;
    for (var i=0;i<countchildren;i++){
      tbody.children[i].children[0].innerHTML=i+1;
    }
    }
    else{
      alert("请不要全部删除");
    }
  }
  function add(){
  var trid = new Date().getTime();
  var packageid=trid+'packageid';
  var countid=trid+'countid';
  var priceid=trid+'priceid';
  var objtr=document.createElement('tr');
  objtr.id=trid;
  objtr.innerHTML="<td></td> " +
    "      <td><input id='"+trid+"packageid'></td> " +
    "      <td><textarea id='"+trid+"countid'></textarea></td> " +
    "      <td><input id='"+trid+"priceid'></td> " +
    "      <td><button type='button' onclick='del(this)'>删除</button></td>";
    document.getElementById("tbodyid").appendChild(objtr);
    var tbodyobj=document.getElementById('tbodyid');
    var countchildren=tbodyobj.childElementCount;
    for (var i=0;i<countchildren;i++){
      tbodyobj.children[i].children[0].innerHTML=i+1;
    }
  }
  function save(){
    var tbodyobj=document.getElementById('tbodyid');
    var countchildren=tbodyobj.childElementCount;
    var trid="";
    var packageid="";
    var countid="";
    var priceid="";
    var list=new Array();
    for (var i=0;i<countchildren;i++){
      trid=tbodyobj.children[i].id;
      packageid=trid+"packageid";
      countid=trid+"countid";
      priceid=trid+"priceid";
      var map={
      "套餐":document.getElementById(packageid).value,
      "内容":document.getElementById(countid).value,
      "价格":document.getElementById(priceid).value
      }
      list.push(map);
    }
    console.log("list:",list);
    alert(JSON.stringify(list));
  }
</script>
<body>
<div>
  <div style="width: 80%;margin: 10%">
  <table border="1" bordercolor="#a0c6e5" style="border-collapse:collapse;" align="center" width="100%">
    <caption>动态增加表格</caption>
    <thead>
    <tr>
      <th width="5% ">序号</th>
      <th width="20%">套餐</th>
      <th width="30%">内容</th>
      <th width="10%">价格</th>
      <th width="10%">操作</th>
    </tr>
    </thead>
    <tbody id="tbodyid">
    <tr id="123">
      <td>1</td>
      <td><input id="123packageid"></td>
      <td><textarea id="123countid"></textarea></td>
      <td><input id="123priceid"></td>
      <td><button type="button" onclick='del(this)'>删除</button></td>
    </tr>
    </tbody>
  </table>
    <button type="button" onclick='add()'>添加</button>
    <button type="button" onclick='save()'>保存</button>
</div>
</div>
</body>
</html>

 js动态生成其他的也同理,可根据自己需要在指定位置创建自己所需要的元素。

总结

以上所述是小编给大家介绍的js动态添加表格逐行添加、删除、遍历取值的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jquery.Jwin.js 基于jquery的弹出层插件代码
May 23 Javascript
JS 跳转页面延迟2种方法
Mar 29 Javascript
jQuery中的ready函数与window.onload谁先执行
Jun 21 Javascript
JavaScript基于Dom操作实现查找、修改HTML元素的内容及属性的方法
Jan 20 Javascript
vue之nextTick全面解析
May 17 Javascript
angularjs路由传值$routeParams详解
Sep 05 Javascript
Angular实现双向折叠列表组件的示例代码
Nov 21 Javascript
用Axios Element实现全局的请求loading的方法
Mar 15 Javascript
浅谈Vue初学之props的驼峰命名
Jul 19 Javascript
Mint UI实现A-Z字母排序的城市选择列表
Dec 28 Javascript
vue 关闭浏览器窗口的时候,清空localStorage的数据示例
Nov 06 Javascript
简单了解three.js 着色器材质
Aug 03 Javascript
Laravel整合Bootstrap 4的完整方案(推荐)
Jan 25 #Javascript
jquery根据name取得select选中的值实例(超简单)
Jan 25 #jQuery
用jquery获取select标签中选中的option值及文本的示例
Jan 25 #jQuery
利用js给datalist或select动态添加option选项的方法
Jan 25 #Javascript
基于vue.js无缝滚动效果
Jan 25 #Javascript
vue router嵌套路由在history模式下刷新无法渲染页面问题的解决方法
Jan 25 #Javascript
vue通过路由实现页面刷新的方法
Jan 25 #Javascript
You might like
PHP中使用gettext来支持多语言的方法
2011/05/02 PHP
比file_get_contents稳定的curl_get_contents分享
2012/01/11 PHP
php 批量添加多行文本框textarea一行一个
2014/06/03 PHP
php实现快速对二维数组某一列进行组装的方法小结
2019/12/04 PHP
Javascript 日期处理之时区问题
2009/10/08 Javascript
基于jQuery的一个扩展form序列化到json对象
2010/12/09 Javascript
jquery限制输入字数,并提示剩余字数实现代码
2012/12/24 Javascript
JS 实现导航栏悬停效果(续)
2013/09/24 Javascript
Enter转换为Tab的小例子(兼容IE,Firefox)
2013/11/14 Javascript
使用firebug进行调试javascript的示例
2013/12/16 Javascript
jquery淡化版banner异步图片文字效果切换图片特效
2014/04/08 Javascript
使用jquery动态加载Js文件和Css文件
2015/10/24 Javascript
JS Array.slice 截取数组的实现方法
2016/01/02 Javascript
原生的强大DOM选择器querySelector介绍
2016/12/21 Javascript
js常用的继承--组合式继承
2017/03/06 Javascript
详解vue中引入stylus及报错解决方法
2017/09/22 Javascript
Js利用prototype自定义数组方法示例
2017/10/20 Javascript
浅谈React中组件间抽象
2018/01/27 Javascript
详解React-Router中Url参数改变页面不刷新的解决办法
2018/05/08 Javascript
Element Cascader 级联选择器的使用示例
2020/07/27 Javascript
微信小程序picker组件两列关联使用方式
2020/10/27 Javascript
用Python实现web端用户登录和注册功能的教程
2015/04/30 Python
Python扫描IP段查看指定端口是否开放的方法
2015/06/09 Python
Python 中list ,set,dict的大规模查找效率对比详解
2019/10/11 Python
django框架两个使用模板实例
2019/12/11 Python
python3中确保枚举值代码分析
2020/12/02 Python
欧洲有机婴儿食品最大的市场:Organic Baby Food(供美国和加拿大)
2018/03/28 全球购物
这段代码难道不该打印出56吗
2013/02/27 面试题
给男朋友的道歉信
2014/01/12 职场文书
2014物价局群众路线对照检查材料思想汇报
2014/09/21 职场文书
2015年银行大堂经理工作总结
2015/04/24 职场文书
《老人与海鸥》教学反思
2016/02/16 职场文书
Requests什么的通通爬不了的Python超强反爬虫方案!
2021/05/20 Python
python 网络编程要点总结
2021/06/18 Python
python处理json数据文件
2022/04/11 Python
MySQL数据库Innodb 引擎实现mvcc锁
2022/05/06 MySQL