JavaScript实现动态添加,删除行的方法实例详解


Posted in Javascript onJuly 02, 2015

本文实例讲述了JavaScript实现动态添加,删除行的方法。分享给大家供大家参考。具体如下:

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>增加Table行</title>
  </head>
<script language="javascript">// Example: obj = findObj("image1");
function findObj(theObj, theDoc){ 
var p, i, foundObj;
  if(!theDoc) theDoc = document; if( (p = theObj.indexOf("?")) > 0 && parent.frames.length) {  theDoc = parent.frames[theObj.substring(p+1)].document;  theObj = theObj.substring(0,p); } if(!(foundObj = theDoc[theObj]) && theDoc.all) foundObj = theDoc.all[theObj]; for (i=0; !foundObj && i < theDoc.forms.length; i++)   foundObj = theDoc.forms[i][theObj]; for(i=0; !foundObj && theDoc.layers && i < theDoc.layers.length; i++)   foundObj = findObj(theObj,theDoc.layers[i].document); if(!foundObj && document.getElementById) foundObj = document.getElementById(theObj);  return foundObj;}
//添加一个参与人填写行
function AddSignRow(){ //读取最后一行的行号,存放在txtTRLastIndex文本框中 
 var txtTRLastIndex = findObj("txtTRLastIndex",document);
 var rowID = parseInt(txtTRLastIndex.value);
 var signFrame = findObj("SignFrame",document);
 //添加行
 var newTR = signFrame.insertRow(signFrame.rows.length);
 newTR.id = "SignItem" + rowID;
 //添加列:序号
 var newNameTD=newTR.insertCell(0);
 //添加列内容
 newNameTD.innerHTML = newTR.rowIndex.toString();
 //添加列:姓名
 var newNameTD=newTR.insertCell(1);
 //添加列内容
 newNameTD.innerHTML = "<input name='txtName" + rowID + "' id='txtName" + rowID + "' type='text' size='12' />";
 //添加列:电子邮箱
 var newEmailTD=newTR.insertCell(2);
 //添加列内容
 newEmailTD.innerHTML = "<input name='txtEMail" + rowID + "' id='txtEmail" + rowID + "' type='text' size='20' />";
 //添加列:电话
 var newTelTD=newTR.insertCell(3);
 //添加列内容
 newTelTD.innerHTML = "<input name='txtTel" + rowID + "' id='txtTel" + rowID + "' type='text' size='10' />";
 //添加列:手机
 var newMobileTD=newTR.insertCell(4);
 //添加列内容
 newMobileTD.innerHTML = "<input name='txtMobile" + rowID + "' id='txtMobile" + rowID + "' type='text' size='12' />";
 //添加列:公司名
 var newCompanyTD=newTR.insertCell(5);
 //添加列内容
 newCompanyTD.innerHTML = "<input name='txtCompany" + rowID + "' id='txtCompany" + rowID + "' type='text' size='20' />";
 
 //添加列:删除按钮
 var newDeleteTD=newTR.insertCell(6);
 //添加列内容
 newDeleteTD.innerHTML = "<div align='center' style='width:40px'><a href='javascript:;' onclick=\"DeleteSignRow('SignItem" + rowID + "')\">删除</a></div>";
 //将行号推进下一行
 txtTRLastIndex.value = (rowID + 1).toString() ;
}
//删除指定行
function DeleteSignRow(rowid){
 var signFrame = findObj("SignFrame",document);
 var signItem = findObj(rowid,document);
 //获取将要删除的行的Index
 var rowIndex = signItem.rowIndex;
 //删除指定Index的行
 signFrame.deleteRow(rowIndex);
 //重新排列序号,如果没有序号,这一步省略
 for(i=rowIndex;i<signFrame.rows.length;i++){
 signFrame.rows[i].cells[0].innerHTML = i.toString();
 }
}//清空列表
function ClearAllSign(){
 if(confirm('确定要清空所有参与人吗?')){
 var signFrame = findObj("SignFrame",document);
 var rowscount = signFrame.rows.length;
 //循环删除行,从最后一行往前删除
 for(i=rowscount - 1;i > 0; i--){
  signFrame.deleteRow(i);
 }
 //重置最后行号为1
 var txtTRLastIndex = findObj("txtTRLastIndex",document);
 txtTRLastIndex.value = "1";
 //预添加一行
 AddSignRow();
 }
}
</script>
  <body>
     <div>
 <table width="613" border="0" cellpadding="2" cellspacing="1" id="SignFrame">
       <tr id="trHeader">
        <td width="27" bgcolor="#96E0E2">序号</td>
        <td width="64" bgcolor="#96E0E2">用户姓名</td>
        <td width="98" bgcolor="#96E0E2">电子邮箱</td>
        <td width="92" bgcolor="#96E0E2">固定电话</td>
        <td width="86" bgcolor="#96E0E2">移动手机</td>
        <td width="153" bgcolor="#96E0E2">公司名称</td>
        <td width="57" align="center" bgcolor="#96E0E2"> </td>
       </tr>
    </table>
  </div>
  <div>
    <input type="button" name="Submit" value="添加参与人" onclick="AddSignRow()" />
   <input type="button" name="Submit2" value="清空" onclick="ClearAllSign()" />
   <input name='txtTRLastIndex' type='hidden' id='txtTRLastIndex' value="1" />
  </div>
  </body>
</html>

JavaScript实现动态的增加或删除table的行

<SCRIPT LANGUAGE="JScript"> 
function numberCells() 
{
  var count=0;
  for (i=0; i < document.all.mytable.rows.length; i++)
  {
    for (j=0; j < document.all.mytable.rows(i).cells.length; j++) 
    {
      document.all.mytable.rows(i).cells(j).innerText = count;
      count++;
    }
  }
}
function tb_addnew()
{
  var ls_t=document.all("mytable")
  maxcell=ls_t.rows(0).cells.length;
  mynewrow = ls_t.insertRow();
  for(i=0;i<maxcell;i++)
  {
    mynewcell=mynewrow.insertCell();
    mynewcell.innerText="a"+i;
  }
}
function tb_delete()
{
  var ls_t=document.all("mytable");
  maxcell=ls_t.rows.length;
  if(maxcell > 1)
  {
    ls_t.deleteRow() ;
  }
}
</SCRIPT>
<BODY onload="numberCells()">
<TABLE id=mytable border=1>
<TR><TH> </TH><TH> </TH><TH> </TH><TH> </TH></TR>
<TR><TD> </TD><TD> </TD><TD> </TD><TD> </TD></TR>
<TR><TD> </TD><TD> </TD><TD> </TD><TD> </TD></TR>
</TABLE>
<input type=button value="Ins Row" onclick="tb_addnew()">
<input type=button value="Del Row" onclick="tb_delete()" >

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
jQuery中$this和$(this)的区别介绍(一看就懂)
Jul 06 Javascript
jquery实现向下滑出的二级导航下滑菜单效果
Aug 25 Javascript
jquery根据td给相同tr下其他td赋值的实现方法
Oct 05 Javascript
什么是JavaScript中的结果值?
Oct 08 Javascript
Vue概念及常见命令介绍(1)
Dec 08 Javascript
javascript 网页进度条简单实例
Feb 22 Javascript
Angular实现一个简单的多选复选框的弹出框指令实例
Apr 25 Javascript
jQuery、layer实现弹出层的打开、关闭功能
Jun 28 jQuery
微信小程序下拉刷新界面的实现
Sep 28 Javascript
用vue2.0实现点击选中active其他选项互斥的效果
Apr 12 Javascript
浅谈javascript事件环微任务和宏任务队列原理
Sep 12 Javascript
js观察者模式的弹幕案例
Nov 23 Javascript
javascript获取select值的方法分析
Jul 02 #Javascript
JavaScript获取并更改input标签name属性的方法
Jul 02 #Javascript
JavaScript实现广告的关闭与显示效果实例
Jul 02 #Javascript
JS选中checkbox后获取table内一行TD所有数据的方法
Jul 01 #Javascript
JS实现统计复选框选中个数并提示确定与取消的方法
Jul 01 #Javascript
JS访问SWF的函数用法实例
Jul 01 #Javascript
JS随机调用指定函数的方法
Jul 01 #Javascript
You might like
php算法实例分享
2015/07/14 PHP
Laravel框架实现model层的增删改查(CURD)操作示例
2018/05/12 PHP
不错的asp中显示新闻的功能
2006/10/13 Javascript
Cookie 小记
2010/04/01 Javascript
JavaScript中的依赖注入详解
2015/03/18 Javascript
基于Jquery代码实现支持PC端手机端幻灯片代码
2015/11/17 Javascript
移动前端图片压缩上传的实例
2017/12/06 Javascript
webpack实用小功能介绍
2018/01/02 Javascript
快速解决brew安装特定版本flow的问题
2018/05/17 Javascript
JS实现显示当前日期的实例代码
2018/07/03 Javascript
angular6 填坑之sdk的方法
2018/12/27 Javascript
uniapp实现可以左右滑动导航栏
2020/10/21 Javascript
[01:03:41]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第三场 2月2日
2021/03/11 DOTA
一步步解析Python斗牛游戏的概率
2016/02/12 Python
Python打包可执行文件的方法详解
2016/09/19 Python
Python实现删除文件中含“指定内容”的行示例
2017/06/09 Python
Tensorflow的可视化工具Tensorboard的初步使用详解
2018/02/11 Python
Python爬虫使用脚本登录Github并查看信息
2018/07/16 Python
django利用request id便于定位及给日志加上request_id
2018/08/26 Python
Django页面数据的缓存与使用的具体方法
2019/04/23 Python
django 控制页面跳转的例子
2019/08/06 Python
python3 循环读取excel文件并写入json操作
2020/07/14 Python
几个解决兼容IE6\7\8不支持html5标签的几个方法
2013/01/07 HTML / CSS
英国邮购活的植物主要供应商:Gardening Direct
2019/01/28 全球购物
药物学专业学生的自我评价
2013/10/27 职场文书
公务员职务工作的自我评价
2013/11/01 职场文书
个人实用的自我评价范文
2013/11/23 职场文书
就业协议书的作用
2014/04/11 职场文书
《春笋》教学反思
2014/04/15 职场文书
申论倡议书范文
2014/05/13 职场文书
求职信怎么写
2014/05/23 职场文书
酒店财务经理岗位职责
2015/04/08 职场文书
详解CSS伪元素的妙用单标签之美
2021/05/25 HTML / CSS
Oracle中update和select 关联操作
2022/01/18 Oracle
Mac电脑OS系统下安装Nginx的详细教程
2022/04/14 Servers
pt-archiver 主键自增
2022/04/26 MySQL