2009-10-30 85 views
1

我试着元素基础上,在sql_insert_id返回使用jQuery/AJAX当SQL插入ID插入一行到数据库

其添加元素正确地添加到数据库中,然后返回一个新的ID为它和控制台正在返回我想使用的ID,但由于某种原因,它实际上并未在元素上改变它。

我只是在我的actions.php脚本中使用echo来返回字符串。

$(".add").click(function() { 
    $(this).parent().parent().parent().parent().appendTo("#folderwrap"); 
    $(".thumbnailoverlay").hide(); 
    var imageidlong = $(this).parent().parent().parent().parent().attr("id"); 
    var imageid = imageidlong.replace("imageid_", ""); 
    $.post("actions.php?action=addfolderimage&imageid="+imageid, function(data){ 
     console.log(data); 
     $(this).parent().parent().parent().parent().attr("id", data); 
    }); 
}); 

回答

0

在回调$(this)将不参考你的元素更多 - 试试这个来代替:

$(".add").click(function() { 
     var elm = $(this).parent().parent().parent().parent(); 

     elm.appendTo("#folderwrap"); 
     $(".thumbnailoverlay").hide(); 
     var imageidlong = elm.attr("id"); 
     var imageid = imageidlong.replace("imageid_", ""); 

     $.post("actions.php?action=addfolderimage&imageid="+imageid, function(data){ 
       console.log(data); 
       elm.attr("id", data); 
     }); 
}); 

这将创建一个包含elm

+0

没错这个工作的治疗结束。感谢Greg – James 2009-10-30 11:33:54