jQuery: скрыть Ajax Loaded Div после дополнительного запроса Ajax - PullRequest
1 голос
/ 19 февраля 2011
jQuery('.delete-tag').live('click', function(e) {
    e.preventDefault();

    var id = jQuery(this).attr('id');

    var data_string = "ajax=1&tag-id=" + id + "";

    jQuery.ajax({
        type: "POST",
        url: file_path + "tags/edit/delete/",
        data: data_string,
        dataType: "json",
        success: function(ajax_output) {
            jQuery(this).hide();
        }
    });
});

Ссылка .delete-tag загружается через ajax в модальном окне. Я использую live(), чтобы связать событие клика для этой ссылки. Ajax работает нормально, но я не могу заставить hide() работать с загруженной ссылкой ajax.

Предложения? Все работает, кроме сокрытия.

1 Ответ

5 голосов
/ 19 февраля 2011

Оказавшись внутри функции успеха ajax, this указывает на другой объект. Сохраните исходную ссылку в другой переменной:

var orig = jQuery(this);
jQuery.ajax({
        type: "POST",
        url: file_path + "tags/edit/delete/",
        data: data_string,
        dataType: "json",
        success: function(ajax_output) {
            orig.hide();
        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...