JS的复选框批量删除问题

<html><head></head><body><scriptlanguage="javascript">functiondeleteAll(obj){varcheck... <html>
<head>
</head>
<body>
<script language="javascript">
function deleteAll(obj){
var checked = document.getElementsByName(obj);
for(var i = 0; i < checked.length; i ++){
if(checked[i].checked){
var tr=obj.parentNode.parentNode;
var tbody=tr.parentNode;
tbody.removeChild(tr);
}
}
}
</script>
<table name="table_name" id="table_id" border width=330 height=30 style="border:1px solid #000000">
<tr>
<td> </td>
<td>分组名字</td>
</tr>
<tr>
<td><INPUT type="checkbox" name="range" value="a"></td>
<td>a</td>
</tr>
<tr>
<td><INPUT type="checkbox" name="range" value="b"></td>
<td>b</td>
</tr>
<tr>
<td><INPUT type="checkbox" name="range" value="c"></td>
<td>c</td>
</tr>
</tbody>
<tr>
<td>

</td>
<td><input type="button" name="delete_button" value="批量删除" onclick="deleteAll('range');">
</td>
</tr>
</table>
</body>
</ html>
怎么我的批量删除功能实现不了呢?在线等
展开
 我来答
xiongdamao
2008-08-13 · 超过14用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:0
展开全部
<html>
<head>
</head>
<body>
<script language="javascript">
function deleteAll(obj){
var checked = document.getElementsByName(obj);
debugger
for(var i = 0; i < checked.length; i ++){
if(checked[i].checked){
var tr=checked[i].parentNode.parentNode;
var tbody=tr.parentNode;
tbody.removeChild(tr);
i--;
}
}
}
</script>
<table name="table_name" id="table_id" border width=330 height=30 style="border:1px solid #000000">
<tr>
<td> </td>
<td>分组名字</td>
</tr>
<tr>
<td><INPUT type="checkbox" name="range" value="a"></td>
<td>a</td>
</tr>
<tr>
<td><INPUT type="checkbox" name="range" value="b"></td>
<td>b</td>
</tr>
<tr>
<td><INPUT type="checkbox" name="range" value="c"></td>
<td>c</td>
</tr>
</tbody>
<tr>
<td>

</td>
<td><input type="button" name="delete_button" value="批量删除" onclick="deleteAll('range');">
</td>
</tr>
</table>
</body>
</ html>
成珺顿涵山
2019-01-31 · TA获得超过3804个赞
知道小有建树答主
回答量:3127
采纳率:28%
帮助的人:194万
展开全部
<html>
<head>
</head>
<body>
<script
language="javascript">
function
deleteAll(obj){
var
checked
=
document.getElementsByName(obj);
debugger
for(var
i
=
0;
i
<
checked.length;
i
++){
if(checked[i].checked){
var
tr=checked[i].parentNode.parentNode;
var
tbody=tr.parentNode;
tbody.removeChild(tr);
i--;
}
}
}
</script>
<table
name="table_name"
id="table_id"
border
width=330
height=30
style="border:1px
solid
#000000">
<tr>
<td>
</td>
<td>分组名字</td>
</tr>
<tr>
<td><INPUT
type="checkbox"
name="range"
value="a"></td>
<td>a</td>
</tr>
<tr>
<td><INPUT
type="checkbox"
name="range"
value="b"></td>
<td>b</td>
</tr>
<tr>
<td><INPUT
type="checkbox"
name="range"
value="c"></td>
<td>c</td>
</tr>
</tbody>
<tr>
<td>
</td>
<td><input
type="button"
name="delete_button"
value="批量删除"
onclick="deleteAll('range');">
</td>
</tr>
</table>
</body>
</
html>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
puderty
2008-08-13 · TA获得超过3530个赞
知道小有建树答主
回答量:530
采纳率:0%
帮助的人:0
展开全部
那个函数有问题,是checked[i],不是obj

function deleteAll(obj){
var checked = document.getElementsByName(obj);
for(var i = 0; i < checked.length; i ++){
if(checked[i].checked){
var tr=checked[i].parentNode.parentNode;
var tbody=tr.parentNode;
tbody.removeChild(tr);
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fengkuang491
2008-08-13 · TA获得超过143个赞
知道答主
回答量:279
采纳率:0%
帮助的人:181万
展开全部
你JS写错了。
更正如下部分:
if(checked[i].checked){
var tr=checked[i].parentNode.parentNode; //obj是你传入的字符串,checked[i]才是checkbox控件
var tbody=tr.parentNode;
tbody.removeChild(tr);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式