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 相关文章推荐
XMLHTTPRequest的属性和方法简介
Nov 23 Javascript
jQuery插件的写法分享
Jun 12 Javascript
js加载读取内容及显示与隐藏div示例
Feb 13 Javascript
浅谈javascript中return语句
Jul 15 Javascript
jQuery实现默认是闭合的FAQ展开效果菜单
Sep 14 Javascript
详解Angular的内置过滤器和自定义过滤器【推荐】
Dec 26 Javascript
js实现增加数字显示的环形进度条效果
Feb 05 Javascript
javascript中的隐式调用
Feb 10 Javascript
Vue导出页面为PDF格式的实现思路
Jul 31 Javascript
vue+axios+element ui 实现全局loading加载示例
Sep 11 Javascript
微信小程序返回上一级页面的实现代码
Jun 19 Javascript
JavaScript字符串转数字的简单实现方法
Nov 27 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
php标签云的实现代码
2012/10/10 PHP
关于PHP内存溢出问题的解决方法
2013/06/25 PHP
PHP变量的定义、可变变量、变量引用、销毁方法
2013/12/20 PHP
php实现36进制与10进制转换功能示例
2017/01/10 PHP
PHP创建单例后台进程的方法示例
2017/05/23 PHP
火狐浏览器(firefox)下获得Event对象以及keyCode
2008/11/13 Javascript
修改jQuery.Autocomplete插件 支持中文输入法 避免TAB、ENTER键失效、导致表单提交
2009/10/11 Javascript
javascript 循环读取JSON数据的代码
2010/07/17 Javascript
javascript 节点排序 2
2011/01/31 Javascript
ExtJS中文乱码之GBK格式编码解决方案及代码
2013/01/20 Javascript
基于replaceChild制作简单的吞噬特效
2015/09/21 Javascript
JS实现回到页面顶部动画效果的简单实例
2016/05/24 Javascript
详解使用JS如何制作简单的ASCII图与单极图
2017/03/31 Javascript
react-router JS 控制路由跳转实例
2017/06/15 Javascript
浅谈Node异步编程的机制
2017/10/18 Javascript
详解利用Angular实现多团队模块化SPA开发框架
2017/11/27 Javascript
vuex的简单使用教程
2018/02/02 Javascript
详解如何用typescript开发koa2的二三事
2018/11/13 Javascript
详解element-ui设置下拉选择切换必填和非必填
2019/06/17 Javascript
JS三级联动代码格式实例详解
2019/12/30 Javascript
Node.JS获取GET,POST数据之queryString模块使用方法详解
2020/02/06 Javascript
[00:52]玛尔斯技能全介绍
2019/03/06 DOTA
Python实现读取目录所有文件的文件名并保存到txt文件代码
2014/11/22 Python
解决Django中修改js css文件但浏览器无法及时与之改变的问题
2019/08/31 Python
python爬虫要用到的库总结
2020/07/28 Python
详解用 python-docx 创建浮动图片
2021/01/24 Python
CSS3属性使网站设计增强同时不消弱可用性
2009/08/29 HTML / CSS
新西兰购物网站:TheMarket NZ
2020/09/19 全球购物
俄罗斯苹果优质经销商商店:iPort
2020/05/27 全球购物
说出一些常用的类,包,接口
2014/09/22 面试题
企业精细化管理实施方案
2014/03/23 职场文书
2014年教务工作总结
2014/12/03 职场文书
2015年社区流动人口工作总结
2015/05/12 职场文书
狼牙山五壮士观后感
2015/06/09 职场文书
解决persistence.xml配置文件修改存放路径的问题
2022/02/24 Java/Android
iSCSI服务器CHAP双向认证配置
2022/04/01 Servers