js动态给table添加/删除tr的方法


Posted in Javascript onAugust 02, 2013
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<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='#'" + 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>
</HEAD>
<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="添加参与人" /> 
<input type="button" name="Submit2" value="清空" />
<input name='txtTRLastIndex' type='hidden' id='txtTRLastIndex' value="1" />
</div>
</BODY>
</HTML>
Javascript 相关文章推荐
Javascript 判断客户端浏览器类型代码
Mar 01 Javascript
MooBox 基于Mootools的对话框插件
Jan 20 Javascript
解析jquery获取父窗口的元素
Jun 26 Javascript
node.js中的fs.realpath方法使用说明
Dec 16 Javascript
使用AngularJS和PHP的Laravel实现单页评论的方法
Jun 19 Javascript
jquery实现顶部向右伸缩的导航区域代码
Sep 02 Javascript
BootStrap扔进Django里的方法详解
May 13 Javascript
原生js实现自由拖拽弹窗代码demo
Jun 29 Javascript
基于JS实现回到页面顶部的五种写法(从实现到增强)
Sep 03 Javascript
js+div+css下拉导航菜单完整代码分享
Dec 28 Javascript
vue计算属性+vue中class与style绑定(推荐)
Mar 30 Javascript
如何实现vue的tree组件
Dec 03 Vue.js
JS和jquery获取各种屏幕的宽度和高度的代码
Aug 02 #Javascript
JavaScript获取/更改文本框的值的实例代码
Aug 02 #Javascript
JS限制Textarea文本域字符个数的具体实现
Aug 02 #Javascript
javascript自动改变文字大小和颜色的效果的小例子
Aug 02 #Javascript
JS解决ie6下png透明的方法实例
Aug 02 #Javascript
用innerhtml提高页面打开速度的方法
Aug 02 #Javascript
JQuery 获取json数据$.getJSON方法的实例代码
Aug 02 #Javascript
You might like
完美解决dedecms中的[html][/html]和[code][/code]问题
2007/03/20 PHP
PHP面向对象学习笔记之一 基础概念
2012/10/06 PHP
php中随机函数mt_rand()与rand()性能对比分析
2014/12/01 PHP
对象的类型:本地对象(1)
2006/12/29 Javascript
用window.location.href实现刷新另个框架页面
2007/03/07 Javascript
在vs2010中调试javascript代码方法
2011/02/11 Javascript
基于jquery的防止大图片撑破页面的实现代码(立即缩放)
2011/10/24 Javascript
jquery实现搜索框常见效果的方法
2015/01/22 Javascript
javascript实现全角转半角的方法
2016/01/23 Javascript
JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
2016/02/25 Javascript
原生JS实现导航下拉菜单效果
2020/11/25 Javascript
Vue.js 2.0学习教程之从基础到组件详解
2017/04/24 Javascript
浅谈react-native热更新react-native-pushy集成遇到的问题
2017/09/30 Javascript
Vue.js样式动态绑定实现小结
2019/01/24 Javascript
PostgreSQL Node.js实现函数计算方法示例
2019/02/12 Javascript
小程序实现悬浮搜索框
2019/07/12 Javascript
使用 js 简单的实现 bind、call 、aplly代码实例
2019/09/07 Javascript
原生js实现二级联动菜单
2019/11/27 Javascript
JS数组push、unshift、pop、shift方法的实现与使用方法示例
2020/04/29 Javascript
JS绘图Flot如何实现可选显示曲线图功能
2020/10/16 Javascript
[33:23]VG vs Pain 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
50行代码实现贪吃蛇(具体思路及代码)
2013/04/27 Python
Python的迭代器和生成器使用实例
2015/01/14 Python
浅谈Python数据类型之间的转换
2016/06/08 Python
Python中使用filter过滤列表的一个小技巧分享
2020/05/02 Python
Python爬取网页信息的示例
2020/09/24 Python
CSS3伪类选择器:nth-child()
2009/04/02 HTML / CSS
CSS3中Color的一些特性介绍
2012/05/27 HTML / CSS
HTML5实践-图片设置成灰度图
2012/11/12 HTML / CSS
BIBLOO波兰:捷克的一家在线服装店
2018/03/09 全球购物
铁路工务反思材料
2014/02/07 职场文书
主题党日活动总结
2014/07/08 职场文书
2014年大学团支部工作总结
2014/12/02 职场文书
2014年民主评议党员工作总结
2014/12/02 职场文书
食品药品安全责任书
2015/05/11 职场文书
小组组名及励志口号
2015/12/24 职场文书