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 相关文章推荐
jquery trim() 功能源代码
Feb 14 Javascript
jquery事件重复绑定的快速解决方法
Jan 03 Javascript
编写高效jQuery代码的4个原则和5个技巧
Apr 24 Javascript
给js文件传参数(详解)
Jul 13 Javascript
JS使用ajax从xml文件动态获取数据显示的方法
Mar 24 Javascript
javascript中对Date类型的常用操作小结
May 19 Javascript
jQuery特殊符号转义的实现
Nov 30 Javascript
Express使用html模板的详细代码
Sep 18 Javascript
深入了解JS之作用域和闭包
Jun 16 Javascript
es5 类与es6中class的区别小结
Nov 09 Javascript
基于vue项目设置resolves.alias: '@'路径并适配webstorm
Dec 02 Vue.js
vscode自定义vue模板的实现
Jan 27 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
利用PHP实现与ASP Banner组件相似的类
2006/10/09 PHP
php教程 插件机制在PHP中实现方案
2012/11/02 PHP
Window 7/XP 安装Apache 2.4与PHP 5.4 的过程详解
2013/06/02 PHP
php中读写文件与读写数据库的效率比较分享
2013/10/19 PHP
Drupal简体中文语言包安装教程
2014/09/27 PHP
PHP写日志的实现方法
2014/11/05 PHP
php使用lua+redis实现限流,计数器模式,令牌桶模式
2019/04/04 PHP
Jquery实现带动画效果的经典二级导航菜单
2013/03/22 Javascript
js返回上一页并刷新的多种实现方法
2014/02/26 Javascript
JavaScript 学习笔记之操作符
2015/01/14 Javascript
JavaScript去除数组里重复值的方法
2015/07/13 Javascript
JS实现浏览器状态栏文字从右向左弹出效果代码
2015/10/27 Javascript
基于JavaScript实现购物车功能
2017/02/07 Javascript
Bootstrap学习笔记之进度条、媒体对象实例详解
2017/03/09 Javascript
微信小程序中post方法与get方法的封装
2017/09/26 Javascript
新手快速上手webpack4打包工具的使用详解
2019/01/28 Javascript
如何解决jQuery 和其他JS库的冲突
2020/06/22 jQuery
openlayers实现地图测距测面
2020/09/25 Javascript
Ant-design-vue Table组件customRow属性的使用说明
2020/10/28 Javascript
[03:40]DOTA2亚洲邀请赛小组赛第二日 赛事回顾
2015/01/31 DOTA
Python 时间操作例子和时间格式化参数小结
2014/04/24 Python
python删除特定文件的方法
2015/07/30 Python
Python中的字符串替换操作示例
2016/06/27 Python
python自动登录12306并自动点击验证码完成登录的实现源代码
2018/04/25 Python
python主线程捕获子线程的方法
2018/06/17 Python
Python脚本去除文件的只读性操作
2020/03/05 Python
世界上最好的足球商店:Unisport
2019/03/02 全球购物
医务工作者先进事迹材料
2014/01/26 职场文书
护士岗位求职应聘自荐书范文
2014/02/12 职场文书
高三家长寄语
2014/04/03 职场文书
贷款担保书范文
2014/05/13 职场文书
预备党员思想汇报1000字
2014/10/07 职场文书
Maven学习----Maven安装与环境变量配置教程
2021/06/29 Java/Android
浅谈Python3中datetime不同时区转换介绍与踩坑
2021/08/02 Python
mysql 子查询的使用
2022/04/28 MySQL
MySQL的prepare使用以及遇到的bug
2022/05/11 MySQL