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