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 相关文章推荐
列表内容的选择
Jun 30 Javascript
运算符&amp;&amp;的三个不同层次
Apr 07 Javascript
JavaScript运行时库属性一览表
Mar 14 Javascript
js实现文字跑马灯效果
Feb 23 Javascript
详解windows下vue-cli及webpack 构建网站(二)导入bootstrap样式
Jun 17 Javascript
vue中使用ueditor富文本编辑器
Feb 08 Javascript
layui结合form,table的全选、反选v1.0示例讲解
Aug 15 Javascript
详解Vue-axios 设置请求头问题
Dec 06 Javascript
JavaScript实现的滚动公告特效【基于jQuery】
Jul 10 jQuery
vue+elementUI动态生成面包屑导航教程
Nov 04 Javascript
学前端,css与javascript重难点浅析
Jun 11 Javascript
vue proxy 的优势与使用场景实现
Jun 15 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
使用数据库保存session的方法
2006/10/09 PHP
PHP 多维数组排序实现代码
2009/08/05 PHP
PHP写的资源下载防盗链类分享
2014/05/12 PHP
基于PHP制作验证码
2016/10/12 PHP
thinkPHP通用控制器实现方法示例
2017/11/23 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
2020/02/21 PHP
比较详细的javascript对象的property和prototype是什么一种关系
2007/08/06 Javascript
JavaScript 数组的 uniq 方法
2008/01/23 Javascript
javascript或asp实现的判断身份证号码是否正确两种验证方法
2009/11/26 Javascript
javaScript 删除字符串空格多种方法小结
2012/10/24 Javascript
使用js实现数据格式化
2014/12/03 Javascript
jQuery+PHP打造滑动开关效果
2014/12/16 Javascript
jquery图片切换实例分析
2015/04/15 Javascript
JQuery中属性过滤选择器用法实例分析
2015/05/18 Javascript
教你如何终止JQUERY的$.AJAX请求
2016/02/23 Javascript
基于javascript实现简单的抽奖系统
2020/04/15 Javascript
javascript中对象的定义、使用以及对象和原型链操作小结
2016/12/14 Javascript
JS中如何实现点击a标签返回页面顶部的问题
2017/01/19 Javascript
浅谈Vue-cli 命令行工具分析
2017/11/22 Javascript
Vue中使用vee-validate表单验证的方法
2018/05/09 Javascript
详解vue实现坐标拾取器功能示例
2020/11/18 Vue.js
[01:49]一目了然!DOTA2DotA快捷操作对比第二弹
2014/05/16 DOTA
[51:29]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
Python BeautifulSoup中文乱码问题的2种解决方法
2014/04/22 Python
Python的装饰器使用详解
2017/06/26 Python
浅析Python中的赋值和深浅拷贝
2017/08/15 Python
python人民币小写转大写辅助工具
2018/06/20 Python
tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例
2020/06/22 Python
OpenCV Python实现图像指定区域裁剪
2021/03/12 Python
捷克购买家具网站:JENA nábytek
2020/03/19 全球购物
Java中的基本数据类型所占存储空间大小固定的吗
2012/02/15 面试题
环保建议书作文
2014/03/12 职场文书
简洁的英文求职信范文
2014/05/03 职场文书
终止劳动合同证明书样本
2014/11/19 职场文书
Python读取和写入Excel数据
2022/04/20 Python
基于Python编写一个监控CPU的应用系统
2022/06/25 Python