首页 新闻 会员 周边

动态创建table的行并删除的小问题

0
悬赏园豆:10 [已关闭问题]

首先贴上我的code 没有做优化额

代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>动态添加table</title>
</head>
<body>

<table id="idMultiTable">
</table>
<input type="button" value="继续添加" onclick="addTableData()" />
<script language="javascript">
//定义一个数组
var autoTableRowData=new Array
('公司中文','<input type="text" name="companyC" size="20"/>',
'联系人','<input type="text" name="contact" size="20"/>&nbsp;&nbsp;
<a href="javascript:deleteRow()">delete</a>');

function addTableData()
{
var row1=idMultiTable.insertRow(); //向table 插入的第一行
var cell1=row1.insertCell();
var cell2=row1.insertCell();
var cell3=row1.insertCell();



var row2=idMultiTable.insertRow(); //向table 插入的第二行
var cell_0201=row2.insertCell();
var cell_0202=row2.insertCell();
var cell_0203=row2.insertCell();



cell1.innerHTML
=autoTableRowData[0]; //赋值
cell2.innerHTML="";
cell3.innerHTML
=autoTableRowData[1];

cell_0201.innerHTML
=autoTableRowData[2]; //赋值
cell_0202.innerHTML="";
cell_0203.innerHTML
=autoTableRowData[3];

}

function deleteRow(){
idMultiTable.deleteRow();
}

</script>
</body>
</html>

 

我这里向table中创建2行,没有使用document.createElement ,而是直接使用了table的insertRow这个简单的方法

我的现在的问题是 怎么去一并删除创建的2行,而不是一行的删除;用deleteRow 是删除一行的

我不知道怎么去写个循环,用其他的dom方法也行,希望大家能指点一下我,谢谢啦!

问题补充: function deleteRow(){ var rowlen=idMultiTable.rows.length; for(var i=rowlen-1;i>=0;i--){ idMultiTable.deleteRow(i); } } 这样会删除添加所有的行
追寻者的主页 追寻者 | 初学一级 | 园豆:190
提问于:2010-07-12 11:58
< >
分享
其他回答(2)
0

('公司中文','<input type="text" name="companyC" size="20"/>',

'联系人','<input type="text" name="contact" size="20"/>&nbsp;&nbsp;
<a href="#" onclick="deleteRow(this)">delete</a>');
 
function deleteRow(a){
var i=a.parentElement.parentElement.rowIndex-1;
idMultiTable.deleteRow(i);idMultiTable.deleteRow(i);} 
兼容性问题,自己考虑

  

 

游云 | 园豆:205 (菜鸟二级) | 2010-07-12 13:53
0

http://www.cnblogs.com/downmoon/archive/2010/07/01/1769309.html

邀月 | 园豆:25475 (高人七级) | 2010-07-12 20:09
0

得到指定行的行索引(有rowIndex属性),用deleteRow就可以啊,而且是w3c标准,兼容各浏览器。其中要注意的是,循环删除多行时,要注意删除过程中,会引起行索引的重新分配,建议从大到小删就行了

水无声 | 园豆:92 (初学一级) | 2010-07-26 11:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册