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 相关文章推荐
用js 让图片在 div或dl里 居中,底部对齐
Jan 21 Javascript
简单实用的js调试logger组件实现代码
Nov 20 Javascript
js循环改变div颜色具体方法
Jun 25 Javascript
在Ubuntu系统上安装Ghost博客平台的教程
Jun 17 Javascript
jQuery子元素过滤选择器用法示例
Sep 09 Javascript
js中class的点击事件没有效果的解决方法
Oct 13 Javascript
jquery插件锦集【推荐】
Dec 16 Javascript
vue input实现点击按钮文字增删功能示例
Jan 29 Javascript
JavaScript显式数据类型转换详解
Mar 18 Javascript
JS开发自己的类库实例分析
Aug 28 Javascript
JS代码屏蔽F12,右键,粘贴,复制,剪切,选中,操作实例
Sep 17 Javascript
JavaScript正则表达式验证登录实例
Mar 18 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
关于时间计算的结总
2006/12/06 PHP
php替换超长文本中的特殊字符的函数代码
2012/05/22 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
2016/07/01 PHP
jQuery 插件 将this下的div轮番显示
2009/04/09 Javascript
浅谈javascript 面向对象编程
2009/10/28 Javascript
用js解决数字不能换行问题
2010/08/10 Javascript
读jQuery之六 缓存数据功能介绍
2011/06/21 Javascript
jquery和ajax的关系详细介绍
2013/11/29 Javascript
jQuery中deferred对象使用方法详解
2016/07/14 Javascript
JS验证字符串功能
2017/02/22 Javascript
JS返回顶部实例代码
2020/08/09 Javascript
微信小程序wx.request实现后台数据交互功能分析
2017/11/25 Javascript
JS运动改变单物体透明度的方法分析
2018/01/23 Javascript
swiper 自动图片无限轮播实现代码
2018/05/21 Javascript
Vue中$refs的用法详解
2018/06/24 Javascript
ES6 Symbol数据类型的应用实例分析
2019/06/26 Javascript
html2canvas属性和使用方法以及如何使用html2canvas将HTML内容写入Canvas生成图片
2020/01/12 Javascript
浅析JS中NEW的实现原理及重写
2020/02/20 Javascript
vue el-upload上传文件的示例代码
2020/12/21 Vue.js
vue-router懒加载的3种方式汇总
2021/02/28 Vue.js
[00:10]DOTA2全国高校联赛速递
2018/05/30 DOTA
python3使用PyMysql连接mysql数据库实例
2017/02/07 Python
解决pyttsx3无法封装的问题
2018/12/24 Python
pytorch 获取层权重,对特定层注入hook, 提取中间层输出的方法
2019/08/17 Python
python 爬取古诗文存入mysql数据库的方法
2020/01/08 Python
150行python代码实现贪吃蛇游戏
2020/04/24 Python
keras使用Sequence类调用大规模数据集进行训练的实现
2020/06/22 Python
微信端html5页面调用分享接口示例
2018/03/14 HTML / CSS
三星新西兰官网:Samsung新西兰
2019/03/05 全球购物
护士长竞聘演讲稿
2014/04/30 职场文书
毕业生面试求职信
2014/06/23 职场文书
2014年最新个人对照检查材料范文
2014/09/25 职场文书
2016年重阳节慰问信
2015/12/01 职场文书
班级元旦晚会开幕词
2016/03/04 职场文书
浅谈Python数学建模之整数规划
2021/06/23 Python
Python 统计序列中元素的出现频度
2022/04/26 Python