Js实现动态添加删除Table行示例


Posted in Javascript onApril 14, 2014

最近做项目遇到要动态添加、删除表格行的操作,实现如下

html代码

<table cellpadding="0" cellspacing="0" border="1" style="margin:auto; width:96%;" id="LearnInfoItem"> 
<tr > 
<td colspan="8" bgcolor="#96E0E2" style="height:30px;" ><h3 style="text-align:center; margin:0;">主要学习简历</h3></td> 
</tr> 
<tr id="tr1"> 
<td class="tdStyle2">起讫时间 </td> <td class="tdStyle2">毕业院校</td> 
<td class="tdStyle2">所学专业</td> 
<td class="tdStyle2">学制</td> 
<td class="tdStyle2">学位</td> 
<td class="tdStyle2">学习方式</td> 
<td class="tdStyle2">文化程度</td> 
<td class="tdStyle2"> 
<input type="button" name="LearnAdd" value="添加" onclick="LearnAddSignRow()" /> 
<input name='LearnTRLastIndex' type='hidden' id='LearnTRLastIndex' value="1" /> 
</td> 
</tr> 
</table>

javascript代码:
<script language="javascript" type="text/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 LearnAddSignRow(){ //读取最后一行的行号,存放在LearnTRLastIndex文本框中 
var LearnTRLastIndex = findObj("LearnTRLastIndex",document); 
var rowID = parseInt(LearnTRLastIndex.value); 
var signFrame = findObj("LearnInfoItem",document); 
//添加行 
var newTR = signFrame.insertRow(signFrame.rows.length); 
newTR.id = "LearnItem" + rowID; 
//添加列:起讫时间 
var newNameTD=newTR.insertCell(0); 
//添加列内容 
newNameTD.innerHTML = "<input name='txtLearnStartDate" + rowID + "' id='txtLearnStartDate" + rowID + "' type='text' class='inputStyle' />"; 
//添加列:毕业院校 
var newNameTD=newTR.insertCell(1); 
//添加列内容 
newNameTD.innerHTML = "<input name='txtName" + rowID + "' id='txtName" + rowID + "' type='text' class='inputStyle' />"; 
//添加列:所学专业 
var newEmailTD=newTR.insertCell(2); 
//添加列内容 
newEmailTD.innerHTML = "<input name='txtEMail" + rowID + "' id='txtEmail" + rowID + "' type='text' class='inputStyle' />"; 
//添加列:学制 
var newTelTD=newTR.insertCell(3); 
//添加列内容 
newTelTD.innerHTML = "<input name='txtTel" + rowID + "' id='txtTel" + rowID + "' type='text' class='inputStyle' />"; 
//添加列:学位 
var newMobileTD=newTR.insertCell(4); 
//添加列内容 
newMobileTD.innerHTML = "<input name='txtMobile" + rowID + "' id='txtMobile" + rowID + "' type='text' class='inputStyle' />"; 
//添加列:学习方式 
var newMobileTD=newTR.insertCell(5); 
//添加列内容 
newMobileTD.innerHTML = "<input name='txtMobile" + rowID + "' id='txtMobile" + rowID + "' type='text' class='inputStyle' />"; 
//添加列:文化程度 
var newCompanyTD=newTR.insertCell(6); 
//添加列内容 
newCompanyTD.innerHTML = "<input name='txtCompany" + rowID + "' id='txtCompany" + rowID + "' type='text' class='inputStyle' />"; 

//添加列:删除按钮 
var newDeleteTD=newTR.insertCell(7); 
//添加列内容 
newDeleteTD.innerHTML = "<div align='center'><input id='txtDel" + rowID + "' type='button' value='删除' onclick=\"LearnDeleteRow('LearnItem" + rowID + "')\" class='inputStyle' /></div>"; 
//将行号推进下一行 
LearnTRLastIndex.value = (rowID + 1).toString() ; 
} 
//删除指定行 
function LearnDeleteRow(rowid){ 
var signFrame = findObj("LearnInfoItem",document); 
var signItem = findObj(rowid,document); 
//获取将要删除的行的Index 
var rowIndex = signItem.rowIndex; 
//删除指定Index的行 
signFrame.deleteRow(rowIndex); 
} 
} 
</script>

实现效果:
Js实现动态添加删除Table行示例
Javascript 相关文章推荐
自己动手实现jQuery Callbacks完整功能代码详解
Nov 25 Javascript
JavaScript合并两个数组并去除重复项的方法
Jun 13 Javascript
JAVA四种基本排序方法实例总结
Jul 24 Javascript
javascript字符串函数汇总
Dec 06 Javascript
JavaScript中0和&quot;&quot;比较引发的问题
May 26 Javascript
AngularJS学习笔记(三)数据双向绑定的简单实例
Nov 08 Javascript
JavaScript提高加载和执行效率的方法
Feb 03 Javascript
详解在Vue中通过自定义指令获取dom元素
Mar 04 Javascript
angular bootstrap timepicker TypeError提示怎么办
Jun 13 Javascript
angular基于ng-alain定义自己的select组件示例
Feb 23 Javascript
基于JavaScript canvas绘制贝塞尔曲线
Dec 25 Javascript
在JavaScript中实现链式调用的实现
Dec 24 Javascript
js实现网页倒计时、网站已运行时间功能的代码3例
Apr 14 #Javascript
PHP开发者必须掌握的6个关键字
Apr 14 #Javascript
javascript中的括号()用法小结
Apr 14 #Javascript
javascript获取函数名称、函数参数、对象属性名称的代码实例
Apr 12 #Javascript
jQuery操作表格(table)的常用方法、技巧汇总
Apr 12 #Javascript
JS获取URL中参数值(QueryString)的4种方法分享
Apr 12 #Javascript
javascript对JSON数据排序的3个例子
Apr 12 #Javascript
You might like
MYSQL数据库初学者使用指南
2006/11/16 PHP
php学习笔记 [预定义数组(超全局数组)]
2011/06/09 PHP
PHP gbk环境下json_dencode传送来的汉字
2012/11/13 PHP
谈谈关于php的优点与缺点
2013/04/11 PHP
ThinkPHP 模板引擎使用详解
2017/05/07 PHP
使用PHP json_decode可能遇到的坑与解决方法
2017/08/03 PHP
总结PHP代码规范、流程规范、git规范
2018/06/18 PHP
js 学习笔记(三)
2009/12/29 Javascript
使用FlexiGrid实现Extjs表格效果方法分享
2014/12/16 Javascript
jQuery实现瀑布流布局详解(PC和移动端)
2020/09/01 Javascript
AngularJS入门教程之静态模板详解
2016/08/18 Javascript
Knockout结合Bootstrap创建动态UI实现产品列表管理
2016/09/14 Javascript
从零开始学习Node.js系列教程四:多页面实现数学运算的client端和server端示例
2017/04/13 Javascript
JavaScript中如何判断一个值的类型
2017/09/15 Javascript
基于node.js实现爬虫的讲解
2019/02/18 Javascript
JavaScript数据结构与算法之二叉树添加/删除节点操作示例
2019/03/01 Javascript
vue组件间的参数传递实例详解
2019/04/26 Javascript
简单了解JavaScript arguement原理及作用
2020/05/28 Javascript
Python使用xlrd读取Excel格式文件的方法
2015/03/10 Python
Python的Django框架下管理站点的基本方法
2015/07/17 Python
pandas获取groupby分组里最大值所在的行方法
2018/04/20 Python
python3 读取Excel表格中的数据
2018/10/16 Python
Mac下Anaconda的安装和使用教程
2018/11/29 Python
对python的输出和输出格式详解
2018/12/08 Python
python如何通过闭包实现计算器的功能
2020/02/22 Python
python3 正则表达式基础廖雪峰
2020/03/25 Python
html5视频播放_动力节点Java学院整理
2017/07/13 HTML / CSS
12月小学生校园广播稿
2014/02/04 职场文书
美国探亲签证邀请信
2014/02/05 职场文书
献爱心大型公益活动策划方案
2014/09/15 职场文书
2015年食品安全工作总结
2015/05/15 职场文书
关于童年的读书笔记
2015/06/26 职场文书
辞职信怎么写?你都知道吗?
2019/06/24 职场文书
JavaScript实现显示和隐藏图片
2021/04/29 Javascript
Redis Cluster集群动态扩容的实现
2021/07/15 Redis
Java多线程并发FutureTask使用详解
2022/06/28 Java/Android