通过jquery复选框删除多个用户

时间:2014-06-23 20:16:21

标签: javascript php jquery

我在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>

2 个答案:

答案 0 :(得分:0)

你初始化数组的方式我觉得不好,你可以这样做:

var data = {'friends' : []};

这是因为无论如何你将'朋友'设置为数组;

然后你推了data['friends[]'].push("some value");

我觉得如果你喜欢这样的话会更好:

var friends = new Array();
$(":checked").each(function() {
 friends.push($(this).val());
});

var data = {'friends' : friends};

答案 1 :(得分:0)

我试图清除如何从下面的多个选中的复选框中获取值的概念。 我希望这会对你有所帮助。

在HTML中使用

<input type="checkbox" name="friends[]" value="{friends.F_ID}" id="{friends.F_ID}">

代替<input type="checkbox" name="friends[]" id="{friends.F_ID}">

HTML:

<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]
    }
}