Обращение к элементу внутри метода .ajax()
Здравствуйте.
Есть n элементов с классом click. При клике по такому элементу на сервер отправляется нечто и возвращается нечто:
$(".link").click(function() {
$.ajax( {
url : '/index.php/test/test',
type : "POST",
data : "id=" + $(this).attr('id'),
success : function(data) {
alert (data);
},
cache : false,
error : function(e) {
alert("error: " + e);
}
});
});
соответственно при удачном исходе метод использует параметр success. Как внутри этого метода обратиться к элементу с классом .click клик по которому вызвал отправку данных. короче, не работает вот это:
....
success : function(data) {
$(this).prev("p").html(data);
},
....
Оно и понятно, thisздесь это видимо сама функция. Тогда как? Если писать просто (".click") это затронет все подобные элементы, а нужен только инициатор. Спасибо тем кто откликнется. |
судя по вашей соседней теме, вы пытаетесь решить одну проблем с двух разных стороны.
тот вариант, который вы там придумали себе, заведомо неправильный. могли бы создать одну тему, с указанием своих идей по решению ее.
$(".link").click(function() {
var _this=this;//сохраняем в замыкании кликнутую ссылку
$.ajax( {
url : '/index.php/test/test',
type : "POST",
data : "id=" + $(this).attr('id'),
success : function(data) {
alert (data);
$(_this).prev("p").html(data);//берем переменную _this из замыкания
},
cache : false,
error : function(e) {
alert("error: " + e);
}
});
});
|
Спасибо за ответ. Все работает.
|
| Часовой пояс GMT +3, время: 19:48. |