使用Jquery / AJAX将行插入数据库时​​返回SQL插入ID

时间:2009-10-30 11:06:34

标签: php jquery mysql ajax

我试图将一个元素添加到数据库,然后根据sql_insert_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);
    });
});

1 个答案:

答案 0 :(得分: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

的闭包