我在phpbb3自定义页面中列出了我的朋友信息(用户名与头像),我需要通过检查复选框删除多个用户。
这是我的源代码,但我不知道为什么它不工作。
<form method="post" action="delete.php" class="form-inline">
<!-- BEGIN friends -->
<ul class="friends">
<li id="{friends.F_ID}.li">
<div class="media-group">
<a class="pull-left" title="{friends.F_USERNAME}">
<img class="media-object img-circle img-avatar" src="{friends.F_AVATAR}">
</a>
<div style="width:30px; height:30px;">
<input type="checkbox" name="friends[]" id="{friends.F_ID}">
</div>
<a href="#"><h4 class="media-heading">{friends.F_USERNAME}</h4></a>
<span class="span-block">123..</span>
<span class="span-block">{LAST_VISIT_DATE}</span>
</div>
</li>
</ul>
<!-- END friends -->
<button id="delete_friends" name="delete_friends" type="submit">Delete Friends</button>
</form>
我的javascript是这样的:
<script>
$("#delete_friends").click(function(){
var data = {'friends[]' : []};
$(":checked").each(function() {
data['friends[]'].push($(this).val());
});
if (confirm("Are you sure you want to delete "+data+"?"))
{
$("#loading_full").fadeIn('fast');
$.post("delete.php", { user_id:'<?php echo $user_id; ?>' , friend_username : data })
.done(function(data) {
alert(data);
if (data.toLowerCase().indexOf("success delete") >= 0){
$("#"+data+"li").fadeOut('fast');
$("#loading_full").fadeOut('fast');
}
})
.fail(function(){
});
return false;
}
});
</script>
我认为你初始化数组的方式不太好,你可以这样做:
var data = {'friends' : []};
这是因为无论如何你都将'friends'设置为数组;
则推data['friends[]'].push("some value");
我认为你最好这样写:
var friends = new Array();
$(":checked").each(function() {
friends.push($(this).val());
});
var data = {'friends' : friends};
我试图清除如何从下面的多个选定复选框中获取值的概念。我希望这对你有帮助。
在HTML中使用
<input type="checkbox" name="friends[]" value="{friends.F_ID}" id="{friends.F_ID}">
代替<input type="checkbox" name="friends[]" id="{friends.F_ID}">
<form method="post" action="delete.php" class="form-inline">
<!-- BEGIN friends -->
<ul class="friends">
<li id="{friends.F_ID}.li">
<div class="media-group">
<a class="pull-left" title="{friends.F_USERNAME}">
<img class="media-object img-circle img-avatar" src="{friends.F_AVATAR}">
</a>
<div style="width:30px; height:30px;">
<input type="checkbox" name="friends[]" value="{friends.F_ID}" id="{friends.F_ID}">
</div>
<a href="#"><h4 class="media-heading">{friends.F_USERNAME}</h4></a>
<span class="span-block">123..</span>
<span class="span-block">{LAST_VISIT_DATE}</span>
</div>
</li>
</ul>
<!-- END friends -->
<button id="delete_friends" name="delete_friends" type="submit">Delete Friends</button>
PHP提交代码
if(isset($_POST["submit"]) && $_POST["submit"]!="")
{
$usersCount = count($_POST["friends"]);
for($i=0;$i<$usersCount;$i++)
{
//mysql_query // friends.F_ID = $_POST["friends"][$i]
}
}