Jquery如何删除table里面checkbox选中的多个行

发布网友

我来回答

3个回答

热心网友

思路:遍历被选中的checkbox对象→根据选中项筛选出需要删除的行→删除行。实例说明如下:

1、HTML结构

<table id = "test_table">
<tr><td><input type="checkbox" name="test"></td><td>1</td><td>2</td><td>3</td></tr>
<tr><td><input type="checkbox" name="test"></td><td>4</td><td>5</td><td>6</td></tr>
<tr><td><input type="checkbox" name="test"></td><td>7</td><td>8</td><td>9</td></tr>
<tr><td><input type="checkbox" name="test"></td><td>10</td><td>11</td><td>12</td></tr>
</table>
<input type="button" value="删除">

2、jquery代码

$(function(){
$("input[type='button']").click(function() {
$("input[name='test']:checked").each(function() { // 遍历选中的checkbox
n = $(this).parents("tr").index();  // 获取checkbox所在行的顺序
$("table#test_table").find("tr:eq("+n+")").remove();
});
});
});

3、效果演示

热心网友

直接给一个属性,隐藏之不可以?
.attr("display","none")追问太笼统了吧

热心网友

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<title></title>
<script src="jquery-1.6.4.min.js"></script>
<script>
$(function(){
$(':checkbox[name=all]').click(function(){
if(this.checked){
$(':checkbox').attr('checked','checked');
}else{
$(':checkbox').removeAttr('checked');
}
})
$('button').click(function(){
var num = 0;
$(':checkbox[name=child]').each(function(){
if($(this).attr('checked')){
$(this).closest('tr').remove();
num++;
}
})
alert('共删除了【'+num+'】行');
})
})
</script>
</head>

<body>

<table id="tab">
<tr>
<td><input type="checkbox" name="all" /></td>
<td>id</td>
<td>value</td>
</tr>
<tr>
<td><input type="checkbox" name="child"/></td>
<td>111</td>
<td>222</td>
</tr>
<tr>
<td><input type="checkbox" name="child"/></td>
<td>111</td>
<td>222</td>
</tr>
<tr>
<td><input type="checkbox" name="child"/></td>
<td>111</td>
<td>222</td>
</tr>
<tr>
<td><input type="checkbox" name="child"/></td>
<td>111</td>
<td>222</td>
</tr>
</table>
<button>删除选中行</button>
</body>
</html>

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com