js清空table,急!在线等!

H_Gragon 2012-10-16 04:15:24
图片:
代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<html>
<head>
<script type="text/javascript">
function contactlist(){
var table = document.getElementById("contactTable");
var tr = table.insertRow(table.rows.length);//添加一行
tr.align="center";
tr.bgcolor="#F3F4F3";
tr.height="23";

//添加五列
var td0 = tr.insertCell(0);
td0.width="20%";
var td1 = tr.insertCell(1);
td1.width="20%";
var td2 = tr.insertCell(2);
td2.width="8%";
var td3 = tr.insertCell(3);
td3.width="30%";
var td4 = tr.insertCell(4);
td4.width="20%";

//设置列内容
td0.innerHTML = "";
td1.innerHTML = "<input type='file' id='dataAudio' name='dataAudio'/><input type='hidden' name='dataAudios'/><input type='hidden' name='audioOldName'/>";
td2.innerHTML = "<input type='text' name='playDateTime' id='playDateTime' onkeyup='validateNumber(this);' size='5' maxlength='3' style='color: red' />";
td3.innerHTML = "<input type='text' name='content' id='content' size='35' maxlength='300'/>";
td4.innerHTML = "<input type='button' value='删除' onclick='removeRow(this.parentNode.parentNode)'/>";

}

function removeRow(r)
{
var root = r.parentNode;
var allRows = root.getElementsByTagName('tr');
if(allRows.length > 3){
root.removeChild(r);
}else{
alert("不能删除改行!");
}
}
</script >
</head>


<body>

<table id="contactTable" width="98%" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#D9D9D9">
<tr bgcolor="#F3F4F3" align="center" height="23">
<td colspan="5" align="left"><input type="button" value="添加帧" class="button" onclick="return contactlist();"/></td>
</tr>
<tr bgcolor="#F3F4F3" align="center" height="23">
<td width="20%">上传图片</td>
<td width="20%">上传声音</td>
<td width="8%">播放时间</td>
<td width="30%">内 容</td>
<td width="20%">操作</td>
</tr>
</table>

</body>
</html>

问题:现在点击每行的删除按钮可以一行一行的删除,我想要的是点击一个按钮清空table(即一下把那三行都删除,单表头要留着,当然也可能n行)
...全文
1444 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
叶孤音 2014-04-21
  • 打赏
  • 举报
回复
<table > <thead> <tr> <th align="center" width="60px" style="border: 1px solid #cdcdcd;">XXXX</th> <th align="center" width="60px" style="border: 1px solid #cdcdcd;">XXXX</th> ... </tr> </thead> <tbody id="contextObj"></tbody> </table> js: $("#contextObj tr").remove();
H_Gragon 2012-10-17
  • 打赏
  • 举报
回复 1
[Quote=引用 7 楼 的回复:]
function deleteAll() {
var table = document.getElementById("contactTable");
var tableLength = table.rows.length;
for(var int = 2;int < tableLength;int++) {
table.deleteRow(2);
}

}……
[/Quote]
谢谢这位哥们,你的方法ok,我结贴了啊~
no_fengzi 2012-10-17
  • 打赏
  • 举报
回复
为什么不用JQuery来弄???
  • 打赏
  • 举报
回复
function deleteAll() {
var table = document.getElementById("contactTable");
var tableLength = table.rows.length;
for(var int = 2;int < tableLength;int++) {
table.deleteRow(2);
}

}

这样不行吗。。

当然,也赞成另外两位仁兄的做法,另外再弄个元素出来,就不用搞什么循环了
H_Gragon 2012-10-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
HTML code


<html>
<head>
<script type="text/javascript">
function contactlist(){
var table = document.getElementById("contactTable");
var tr = table.insertRow(table.rows.lengt……
[/Quote]
循环删除不行,总是删除不干净,总是先删除奇数行,不知道为什么?那位高手给解决一下啊
hellobbboy 2012-10-16
  • 打赏
  • 举报
回复
同意楼上
zh919919 2012-10-16
  • 打赏
  • 举报
回复
表头和下面内容分开呗,将你要删的内容全部放在一个tbody里面,然后直接清空这个tbody
吉他猪 2012-10-16
  • 打赏
  • 举报
回复
我觉得你直接可以删除表然后再添加一个新的表和表头还要快些。。比你循环好吧
  • 打赏
  • 举报
回复


<html>
<head>
<script type="text/javascript">
function contactlist(){
var table = document.getElementById("contactTable");
var tr = table.insertRow(table.rows.length);//添加一行
tr.align="center";
tr.bgcolor="#F3F4F3";
tr.height="23";

//添加五列
var td0 = tr.insertCell(0);
td0.width="20%";
var td1 = tr.insertCell(1);
td1.width="20%";
var td2 = tr.insertCell(2);
td2.width="8%";
var td3 = tr.insertCell(3);
td3.width="30%";
var td4 = tr.insertCell(4);
td4.width="20%";

//设置列内容
td0.innerHTML = "";
td1.innerHTML = "<input type='file' id='dataAudio' name='dataAudio'/><input type='hidden' name='dataAudios'/><input type='hidden' name='audioOldName'/>";
td2.innerHTML = "<input type='text' name='playDateTime' id='playDateTime' onkeyup='validateNumber(this);' size='5' maxlength='3' style='color: red' />";
td3.innerHTML = "<input type='text' name='content' id='content' size='35' maxlength='300'/>";
td4.innerHTML = "<input type='button' value='删除' onclick='removeRow(this.parentNode.parentNode)'/>";

}

function removeRow(r)
{
var root = r.parentNode;
var allRows = root.getElementsByTagName('tr');
if(allRows.length > 3){
root.removeChild(r);
}else{
alert("不能删除改行!");
}
}

function deleteAll() {
var table = document.getElementById("contactTable");
var tableLength = table.rows.length;
for(var int = 2;int < tableLength;int++) {
table.deleteRow(2);
}

}
</script >
</head>


<body>

<table id="contactTable" width="98%" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#D9D9D9">
<tr bgcolor="#F3F4F3" align="center" height="23">
<td colspan="5" align="left"><input type="button" value="添加帧" class="button" onclick="return contactlist();"/></td>
<input type="button" value="删除全部" class="button" onclick="deleteAll();"/>
</tr>
<tr bgcolor="#F3F4F3" align="center" height="23">
<td width="20%">上传图片</td>
<td width="20%">上传声音</td>
<td width="8%">播放时间</td>
<td width="30%">内 容</td>
<td width="20%">操作</td>
</tr>
</table>

</body>
</html>



循环一下倒是可以
H_Gragon 2012-10-16
  • 打赏
  • 举报
回复
上面图片可能看不到后面,这是后面的图片:

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧