2009-03-28 1 views
3

Я использую .post метод AJAX в JQuery:Jquery обратного вызова не вызывается

// completion toggling 
$('.item input').click(function() { 
    $.post('complete.php', {item: this.id}, function() { 
     $(this).parent().fadeOut('slow'); 
    }); 
}); 

Что я здесь делаю неправильно? AJAX работает, когда запись обновляется, но событие обратного вызова никогда не происходит. Ошибок в Firebug тоже нет.

ответ

3

Интересно, не отличается ли это от этого «этого» в этой точке. Попробуйте использовать захват:

$('.item input').click(function() { 
    var tmp = this; 
    $.post('complete.php', {item: this.id}, function() { 
     $(tmp).parent().fadeOut('slow'); 
    }); 
}); 
+0

Он скопирован скобками - он не будет конфликтовать с другими «tmp», которые подобны. –

+0

Упс! Как-то я удалил комментарий OP - это было «работает, нужно проверить область» (или что-то подобное) –

+0

Правильно «это» в обратном вызове AJAX обычно привязывается к XMLHttpRequest, а не к определенному элементу. –

 Смежные вопросы

  • Нет связанных вопросов^_^