Возвращение идентификатора вставки SQL при использовании Jquery / AJAX для вставки строки в базу данных - PullRequest
1 голос
/ 30 октября 2009

Я пытаюсь добавить элемент в базу данных, а затем вернуть новый идентификатор для него на основе sql_insert_id

Он правильно добавляет элемент, и консоль возвращает идентификатор, который я хочу использовать, но по какой-то причине он фактически не изменяет его для элемента.

Я просто использую echo в моем скрипте actions.php, чтобы вернуть строку.

$(".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 голосов
/ 30 октября 2009

В вашем обратном вызове $(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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...