微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

js 动态给table添加、删除tr的简单示例

感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧。
经测试代码如下:

/**
 *  动态table添加删除tr
 *
 * @param 
 * @arrange (编程之家) jb51.cc
 **/
<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.0 Transitional//EN>
<HTML>
<HEAD>
<TITLE>JS动态为table添加删除tr</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>




// 来自:编程之家 jb51.cc(jb51.cc) 

原文地址:https://www.jb51.cc/js/527773.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐