Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ajax请求后的Jquery双消息_Ajax_Jquery - Fatal编程技术网

ajax请求后的Jquery双消息

ajax请求后的Jquery双消息,ajax,jquery,Ajax,Jquery,我正在努力做下面的事情。我有一个用户页面,人们可以在其中创建组来存储内容。也可以删除组。如果有人删除了他的组,这将由ajax完成,因此不会重新加载页面。在这个ajax请求之后,我将显示一条消息,表明该组已被删除 问题; 当用户删除组时,消息显示良好。当用户删除第二个组时,消息会显示两次,因此最后一条消息不会被真正删除,而是通过另一个ajax请求返回。我如何解决这个问题 代码样本 $(function () { var form = $('form.groups select');

我正在努力做下面的事情。我有一个用户页面,人们可以在其中创建组来存储内容。也可以删除组。如果有人删除了他的组,这将由ajax完成,因此不会重新加载页面。在这个ajax请求之后,我将显示一条消息,表明该组已被删除

问题; 当用户删除组时,消息显示良好。当用户删除第二个组时,消息会显示两次,因此最后一条消息不会被真正删除,而是通过另一个ajax请求返回。我如何解决这个问题

代码样本

$(function () {
    var form = $('form.groups select');
    $("a.remove-group", this).live("click", function(){

        var group_name  = $(this).attr("id");
        var string = 'group_name=' + group_name;

        $.ajax({
               type: "POST",
               url: "/settings/delete/",
               data: string,
               cache: false,
               success: function() {
                   $('.fullpage').prepend('<div class="hide-message alert">Group removed</div>');
                   $("#ordered").load('/settings/managmant/');
                }
             });

    });
});

这是因为您正在隐藏div/消息,而不是删除它。使用Remove()函数删除类“hide message alert”,这样下次删除时它就不会弹出

Edit:My bad,我看到您在末尾已经有了Remove(),但我认为您的调用不对,因为在message/div中,您的类有两个名称。您可能必须使用以下两个名称来引用它:


$('.hide message alert').remove()

每次调用
prepend()
都是在向DOM添加额外的消息

您应该在单击功能之外预先添加消息,然后在成功时显示/隐藏它。

试试这个

$("a.remove-group", this).die('click').live("click", function(){ 

当您删除某些内容时,您会在页面上附加一个“.hide message”div

$('.fullpage').prepend('<div class="hide-message alert">Group removed</div>');

…所有这些添加的div都将显示,您删除的每个组都有一个div。

您不必同时使用这两个选择器谢谢您对此功能的解释!
$('.fullpage').prepend('<div class="hide-message alert">Group removed</div>');
$('.hide-message').slideUp('slow')