我感觉问题出在这里。你在这里跳转之后,for剩下的循环代码就不会执行了。建议把所有value取出来一次传给后端,不要在循环中连续跳转。
你的代码我没测试,不过自己写了个测试文件,可以remove掉所有的,你可看看
<!DOCTYPE HTML><html>
<head>
<meta charset="UTF-8"/>
<title>Demo</title>
</head>
<script type="text/javascript" src="http://www.w3school.com.cn/jquery/jquery-1.11.1.min.js"></script>
<style type="text/css">
.select-all{margin-bottom: 10px}
.item{background: #cccpadding: 5px 10pxwidth: 100pxtext-align: center}
.act{margin-top: 20px}
.button{border: 1px solid #cccborder-radius: 5pxbackground: #FFA54Fpadding: 5px 10pxtext-align: centertext-decoration: nonecolor: #fff}
</style>
<body>
<div>
<div class="select-all">
<input type="checkbox" onclick="check_all(this)">全选/全不选
</div>
<div id="list">
<div class="item"><input type="checkbox" name="demo" id="1" value="1">Demo1</div>
<div class="item"><input type="checkbox" name="demo" id="2" value="2">Demo2</div>
<div class="item"><input type="checkbox" name="demo" id="3" value="3">Demo3</div>
<div class="item"><input type="checkbox" name="demo" id="4" value="4">Demo4</div>
<div class="item"><input type="checkbox" name="demo" id="5" value="5">Demo5</div>
<div class="item"><input type="checkbox" name="demo" id="6" value="6">Demo6</div>
<div class="item"><input type="checkbox" name="demo" id="7" value="7">Demo7</div>
<div class="item"><input type="checkbox" name="demo" id="8" value="8">Demo8</div>
</div>
<div class="act">
<a href="javascript:" class="button" onclick='remove_parent()'><span>RemoveParent</span></a>
</div>
</div>
</body>
<script type="text/javascript">
function check_all(o){
if( o.checked == true ){
$('#list input[name="demo"]').prop('checked',true)
}else{
$('#list input[name="demo"]').prop('checked', false)
}
}
function remove_parent(){
var ids = get_checked()
$.each(ids, function(i, n){
if($('#'+n).length > 0){
$('#'+n).parent().remove()
alert('Remove成功!')
}else{
alert('Remove失败!')
}
})
}
function get_checked(){
var ids = new Array()
$.each($('#list input:checked'), function(i, n){
if($(n).val() !='0' && $(n).val()!='' ){
ids.push( $(n).val() )
}
})
return ids
}
</script>
</html>
以下是测试效果图
希望能帮到你,若有疑问,欢迎追问,望采纳,谢谢!~!
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
<script type="text/javascript">
//全选
function test()
{
var f=document.getElementsByName("game")
for(var i=0i<f.lengthi++)
{
if(f[i].checked==false)
{
f[i].checked=true
}
}
}
//反选
function ftest()
{
var f=document.getElementsByName("game")
for( var i=0i<f.lengthi++)
{
if(f[i].checked==false)
{
f[i].checked=true
}
else
{
f[i].checked=false
}
}
}
//全部取消
function CancelAll()
{
var f=document.getElementsByName("game")
for( var i=0i<f.lengthi++)
{
if(f[i].checked==true)
{
f[i].checked=false
}
}
}
</script>
</head>
<body>
<input name="game" type="checkbox" value="lanqiu"/>篮球
<input name="game" type="checkbox" value="zuqiu"/>足球
<input name="game" type="checkbox" value="pingpangqiu"/>乒乓球
<input name="game" type="checkbox" value="bangqiu"/>棒球
<input name="game" type="checkbox" value="ganlanqiu"/>橄榄球<br/>
<input type="button" value="全选" onclick="test()"/>
<input type="button" value="反选" onclick="ftest()"/>
<input type="button" value="全不选" onclick="CancelAll()"/>
</body>
</html>
把if(f[i].checked=true) 改为 if(f[i].checked==true)