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 字符串连接[性能比较]
May 10 Javascript
简体中文转换繁体中文(实现代码)
Dec 25 Javascript
Jquery中的层次选择器与find()的区别示例介绍
Feb 20 Javascript
在HTML中插入JavaScript代码的示例
Jun 03 Javascript
js中跨域方法原理详解
Jul 19 Javascript
jQuery实现返回顶部功能
Feb 23 Javascript
jquery checkbox的相关操作总结
Oct 17 Javascript
在 Angular 中实现搜索关键字高亮示例
Mar 21 Javascript
vue生命周期实例小结
Aug 15 Javascript
react koa rematch 如何打造一套服务端渲染架子
Jun 26 Javascript
解决vuex数据异步造成初始化的时候没值报错问题
Nov 13 Javascript
微信小程序连接服务器展示MQTT数据信息的实现
Jul 14 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自定义函数实现JS的escape的方法示例
2016/07/07 PHP
浅谈PHP的排列组合(如输入a,b,c 输出他们的全部组合)
2017/03/14 PHP
利用PHP获取汉字首字母并且分组排序详解
2017/10/22 PHP
php获取用户真实IP和防刷机制的实例代码
2018/11/28 PHP
PHP接入微信H5支付的方法示例
2019/10/28 PHP
JS日历 推荐
2006/12/03 Javascript
层序遍历在ExtJs的TreePanel中的应用
2009/10/16 Javascript
JavaScript与DOM组合动态创建表格实例
2012/12/23 Javascript
JQuery实现倒计时按钮具体方法
2013/11/14 Javascript
javascript制作的网页侧边弹出框思路及实现代码
2014/05/21 Javascript
简单谈谈Javascript中类型的判断
2015/10/19 Javascript
jquery 将当前时间转换成yyyymmdd格式的实现方法
2016/06/01 Javascript
SpringMVC简单整合Angular2的示例
2017/07/31 Javascript
vue实现二级导航栏效果
2019/10/19 Javascript
[01:08]DOTA2次级职业联赛 - Wings 战队宣传片
2014/12/01 DOTA
Python实现mysql数据库更新表数据接口的功能
2017/11/19 Python
Python使用tkinter库实现文本显示用户输入功能示例
2018/05/30 Python
使用sklearn进行对数据标准化、归一化以及将数据还原的方法
2018/07/11 Python
python对于requests的封装方法详解
2019/01/03 Python
python创建属于自己的单词词库 便于背单词
2019/07/30 Python
用python3 urllib破解有道翻译反爬虫机制详解
2019/08/14 Python
pycharm无法导入本地模块的解决方式
2020/02/12 Python
Python openpyxl模块实现excel读写操作
2020/06/30 Python
Django中和时区相关的安全问题详解
2020/10/12 Python
Pycharm Plugins加载失败问题解决方案
2020/11/28 Python
Html5 audio标签样式的修改
2016/01/28 HTML / CSS
什么是反射
2012/03/17 面试题
会计专业自我鉴定范文
2013/12/29 职场文书
师德个人剖析材料
2014/02/02 职场文书
企业消防安全制度
2014/02/02 职场文书
工厂采购员岗位职责
2014/04/08 职场文书
体育部部长竞选稿
2015/11/21 职场文书
职业生涯规划书之大学四年
2019/08/07 职场文书
PHP实现考试倒计时功能代码
2021/04/16 PHP
SSM项目使用拦截器实现登录验证功能
2022/01/22 Java/Android
CSS list-style-type属性使用方法
2023/05/21 HTML / CSS