我正在创建一个小型网站,并且希望具有删除成员的功能。我正在使用AJAX调用删除成员。我想从页面中删除已删除成员的div。我写了一个小函数来做到这一点。

function P_delete_member(id) {
    alertify.defaults.glossary.title = "Lecturer Request";
    alertify.defaults.glossary.ok = "Yes";
    alertify.defaults.glossary.cancel = "No";
    alertify.confirm("Are you sure you want to delete?", function () {
        $.ajax({
            url: 'http://localhost/seppro/index.php/P_search_controller/P_delete_member',
            type: 'post',
            data: {
                id: id
            },
            success: function (data) {
                $("#member"+id).hide(500);
            },
            error: function (err, req) {
                alert("Your browser broke!");
            }
        });
        alertify.success("done");
    },
    function () {
        alertify.error('Cancel');
    });
}


此功能工作正常。但是,当我尝试搜索成员然后删除时,$("#member"+id).hide(500);部分不起作用。搜索结果是从AJAX函数生成的。如何为AJAX生成的$("#member"+id).hide(500);使用div

最佳答案

$.ajax-默认情况下是异步的。因此,您无法将变量从闭包函数发送给它。您必须使用响应数据。

举个例子:

 $.ajax({
      url: 'http://localhost/seppro/index.php/P_search_controller/P_delete_member',
      type: 'post',
      dataType: 'json'
      data: {
        id: id
      },
      success: function (resp) {
        $("#member" + resp.id).hide(500);
      }
});

关于javascript - jQuery隐藏功能不适用于AJAX生成的div?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35789484/

10-17 02:42