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 相关文章推荐
实例剖析AngularJS框架中数据的双向绑定运用
Mar 04 Javascript
JS中artdialog弹出框控件之提交表单思路详解
Apr 18 Javascript
Bootstrap 3 进度条的实现
Feb 22 Javascript
详解有关easyUI的拖动操作中droppable,draggable用法例子
Jun 03 Javascript
JS获取鼠标坐标并且根据鼠标位置不同弹出不同内容
Jun 12 Javascript
详解前端路由实现与react-router使用姿势
Aug 07 Javascript
Windows安装Node.js报错:2503、2502的解决方法
Oct 25 Javascript
vue里input根据value改变背景色的实例
Sep 29 Javascript
javascript面向对象程序设计实践常用知识点总结
Jul 29 Javascript
Vue 中 template 有且只能一个 root的原因解析(源码分析)
Apr 11 Javascript
vue-cli设置publicPath小记
Apr 14 Javascript
JavaScript 接口原理与用法实例详解
May 12 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
PHPstorm快捷键(分享)
2017/07/17 PHP
javascript offsetX与layerX区别
2010/03/12 Javascript
ASP.NET MVC中EasyUI的datagrid跨域调用实现代码
2012/03/14 Javascript
JavaScript移除数组内重复元素的方法
2015/03/18 Javascript
JS验证邮件地址格式方法小结
2015/12/01 Javascript
CSS中position属性之fixed实现div居中
2015/12/14 Javascript
学习JavaScript设计模式之状态模式
2016/01/08 Javascript
JS实现浏览器打印、打印预览示例
2017/02/28 Javascript
使用gulp搭建本地服务器并实现模拟ajax
2017/04/05 Javascript
JS+CSS实现网页加载中的动画效果
2017/10/27 Javascript
node中的密码安全(加密)
2018/09/17 Javascript
基于Vue实现图片在指定区域内移动的思路详解
2018/11/11 Javascript
React事件处理的机制及原理
2018/12/03 Javascript
vue项目配置使用flow类型检查的步骤
2020/03/18 Javascript
vue相关配置文件详解及多环境配置详细步骤
2020/05/19 Javascript
JavaScript实现4位随机验证码的生成
2021/01/28 Javascript
python的几种开发工具介绍
2007/03/07 Python
基于python中的TCP及UDP(详解)
2017/11/06 Python
python简单操作excle的方法
2018/09/12 Python
对python中矩阵相加函数sum()的使用详解
2019/01/28 Python
详解将Python程序(.py)转换为Windows可执行文件(.exe)
2019/07/19 Python
Python PyInstaller库基本使用方法分析
2019/12/12 Python
Python日志:自定义输出字段 json格式输出方式
2020/04/27 Python
Pytorch 卷积中的 Input Shape用法
2020/06/29 Python
图解Python中深浅copy(通俗易懂)
2020/09/03 Python
Python读取pdf表格写入excel的方法
2021/01/22 Python
html5使用canvas实现图片下载功能的示例代码
2017/08/26 HTML / CSS
使用phonegap操作数据库的实现方法
2017/03/31 HTML / CSS
素质拓展感言
2014/01/29 职场文书
2014年文秘工作总结
2014/11/25 职场文书
2015大学生自我评价范文
2015/03/03 职场文书
详解Mysql 函数调用优化
2021/04/07 MySQL
用Python爬取各大高校并可视化帮弟弟选大学,弟弟直呼牛X
2021/06/11 Python
苹果M1芯片安装nginx 并且部署vue项目步骤详解
2021/11/20 Servers
Win11安装受阻怎么办? Windows11安装问题与解决方案汇总
2021/11/21 数码科技
使用vuex-persistedstate本地存储vuex
2022/04/29 Vue.js