2009-10-30 58 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