Обращение к элементу внутри метода .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, время: 01:43. |