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 相关文章推荐
javascript的函数
Jan 31 Javascript
JavaScript 拖拉缩放效果
Dec 10 Javascript
jQuery 获取URL参数的插件
Mar 04 Javascript
javascript中的float运算精度实例分析
Aug 21 Javascript
鼠标经过显示二级菜单js特效
Aug 13 Javascript
JavaScript实现文字与图片拖拽效果的方法
Feb 16 Javascript
jQuery解析XML与传统JavaScript方法的差别实例分析
Mar 05 Javascript
javascript数据结构之二叉搜索树实现方法
Nov 25 Javascript
JQuery中Ajax()的data参数类型实例分析
Dec 15 Javascript
bootstrap select下拉搜索插件使用方法详解
Nov 23 Javascript
js中值引用和地址引用实例分析
Jun 21 Javascript
微信小程序 button样式设置为图片的方法
Jun 19 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
Terran魔法科技
2020/03/14 星际争霸
使用php来实现网络服务
2009/09/15 PHP
smarty中先strip_tags过滤html标签后truncate截取文章运用
2010/10/25 PHP
CURL状态码列表(详细)
2013/06/27 PHP
php中mt_rand()随机数函数用法
2014/11/24 PHP
php实现根据IP地址获取其所在省市的方法
2015/04/30 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
基于Laravel-admin 后台的自定义页面用法详解
2019/09/30 PHP
PHP vsprintf()函数格式化字符串操作原理解析
2020/07/14 PHP
基于jQuery的日期选择控件
2009/10/27 Javascript
IE8下String的Trim()方法失效的解决方法
2013/11/08 Javascript
将数字转换成大写的人民币表达式的js函数
2014/09/21 Javascript
JS获取中文拼音首字母并通过拼音首字母快速查找页面内对应中文内容的方法【附demo源码】
2016/08/19 Javascript
AngularJS自定义指令实现面包屑功能完整实例
2017/05/17 Javascript
BootStrap Table复选框默认选中功能的实现代码(从数据库获取到对应的状态进行判断是否为选中状态)
2017/07/11 Javascript
vue项目动态设置页面title及是否缓存页面的问题
2018/11/08 Javascript
JS操作Fckeditor的一些常用方法(获取、插入等)
2020/02/19 Javascript
Vue基于iview table展示图片实现点击放大
2020/08/05 Javascript
vue+flask实现视频合成功能(拖拽上传)
2021/03/04 Vue.js
[03:12]完美世界DOTA2联赛PWL DAY6集锦
2020/11/05 DOTA
巧用python和libnmapd,提取Nmap扫描结果
2016/08/23 Python
python机器学习之决策树分类详解
2017/12/20 Python
Python+OpenCV让电脑帮你玩微信跳一跳
2018/01/04 Python
使用python 对验证码图片进行降噪处理
2019/12/18 Python
Django 用户认证Auth组件的使用
2020/11/30 Python
CSS3 Notes: -webkit-box-reflect实现倒影的实例
2016/12/08 HTML / CSS
css3实现文字扫光渐变动画效果的示例
2017/11/07 HTML / CSS
德国高性价比网上药店:medpex
2017/07/09 全球购物
英国现代市场:ARKET
2019/04/10 全球购物
别名指示符是什么
2012/10/08 面试题
师范生教师实习自我鉴定
2013/09/27 职场文书
高中班主任评语
2014/12/30 职场文书
家庭教育教师培训学习体会
2016/01/14 职场文书
OpenCV绘制圆端矩形的示例代码
2021/08/30 Python
尝试使用Python爬取城市租房信息
2022/04/12 Python
MySQL中正则表达式(REGEXP)使用详解
2022/07/07 MySQL