Jquery通过AJAX删除内容

Jquery通过AJAX删除内容,jquery,ajax,codeigniter,Jquery,Ajax,Codeigniter,我有一个PHP应用程序,其中一个页面上有一个delete函数。我允许用户通过点击标签从他们的个人资料中删除标签。用户单击标记后,HTML中以前显示标记的内容区域将使用新的标记集进行更新 现在的问题是,从标签列表中,用户第一次单击标签时,它会被删除。如果用户现在单击另一个标签(从刷新区域),则不会发生任何事情 $("a.single_tag").click(function(){ the_id = $(this).attr('id'); $.ajax({ typ

我有一个PHP应用程序,其中一个页面上有一个delete函数。我允许用户通过点击标签从他们的个人资料中删除标签。用户单击标记后,HTML中以前显示标记的内容区域将使用新的标记集进行更新

现在的问题是,从标签列表中,用户第一次单击标签时,它会被删除。如果用户现在单击另一个标签(从刷新区域),则不会发生任何事情

 $("a.single_tag").click(function(){
   the_id = $(this).attr('id');
     $.ajax({
         type: "POST",
         data: "data="+the_id,
         url: "<?php echo site_url('user/deletetag/');?>/",
         success: function(msg)
         {
           $("#current_tags").fadeIn("slow");
           $("#current_tags").html(msg);

         }
    });  
$(“单个标签”)。单击(函数(){
_id=$(this.attr('id');
$.ajax({
类型:“POST”,
data:“data=”+_id,
网址:“/”,
成功:功能(msg)
{
$(“#当前#标签”).fadeIn(“慢”);
$(“#当前#标记”).html(msg);
}
});  
谢谢你不要用这个,你想要这样:

$("a.single_tag").live('click', function() {
当您使用时,您正在将
单击
处理程序绑定到这些元素,但是当内容被替换时,没有处理程序的新元素就会出现。有了它,当它冒泡到
文档
并执行时,它会侦听
单击
事件……无论页面加载或稍后添加时元素是否在那里,都无关紧要。。。修复您的问题:)

您希望这样,而不是为此使用:

$("a.single_tag").live('click', function() {

当您使用时,您正在将
单击
处理程序绑定到这些元素,但是当内容被替换时,没有处理程序的新元素就会出现。有了它,当它冒泡到
文档
并执行时,它会侦听
单击
事件……无论页面加载或稍后添加时元素是否在那里,都无关紧要。。。修复您的问题:)

您需要在函数中抛出这段绑定代码,并在成功回调中调用它,或者只更新更新标记的HTML(即,返回要删除的id,或要附加的HTML块,而不是重新显示整个块)

更新内容时,新的
a
标记上不存在
.click
绑定


编辑:@Nick Craver的解决方案要好得多。

您需要在函数中抛出这段绑定代码,并在成功回调中调用它,或者只更新更新标记的HTML(即,返回要删除的id,或要追加的HTML块,而不是重新显示整个块)

更新内容时,新的
a
标记上不存在
.click
绑定


编辑:@Nick Craver的解决方案要好得多。

这是因为您刚从服务器收到的新html标记在单击时没有绑定“删除”功能。

这是因为您刚从服务器收到的新html标记没有“删除”功能函数在单击时绑定到它们。

谢谢Nick。我不知道。之前的直播活动。谢谢Nick。我不知道。之前的直播活动。