Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Не могу разобраться с jquery ajax (https://javascript.ru/forum/jquery/30921-ne-mogu-razobratsya-s-jquery-ajax.html)

pro_xaoc 20.08.2012 18:38

Не могу разобраться с jquery ajax
 
Приветствую Всех!
У меня проблемка, вот код:
deledit.click(function(){
		var linkId = "#fav"+$(this).attr("id");
		var myArray = [];
		myArray[0] = $(linkId).attr("href");

		myArray[1] = $(linkId).attr("alt");
		
		$.ajax({url: "<?php echo $this->site; ?>user/ajaxDeleteFavoriteSite",

			type: "post",

			data: {linksArray: myArray},

			success: function(data){

				$(this).closest("tr").remove();

			},

			error: function(){

				alert('Ошибка: нет интернет соединения!');

			}

		})
	})

Здесь в successе код $(this).closest("tr").remove(); не работает, если сделать так:
deledit.click(function(){
		var linkId = "#fav"+$(this).attr("id");
		var myArray = [];
		myArray[0] = $(linkId).attr("href");

		myArray[1] = $(linkId).attr("alt");
		$(this).closest("tr").remove();
		$.ajax({url: "<?php echo $this->site; ?>user/ajaxDeleteFavoriteSite",

			type: "post",

			data: {linksArray: myArray},

			success: function(data){

				

			},

			error: function(){

				alert('Ошибка: нет интернет соединения!');

			}

		})
	})

т.е. вывел $(this).closest("tr").remove(); до аякса, то он работает. Почему так? Заранее спасибо!

LittlePony 20.08.2012 18:52

О! Моя любимая тема! :)
this :)

deledit.click(function(){
	var linkId = "#fav"+$(this).attr("id");
	var myArray = [];
	myArray[0] = $(linkId).attr("href");
	myArray[1] = $(linkId).attr("alt");
	var $closestTR = $(this).closest("tr")
	$.ajax({url: "<?php echo $this->site; ?>user/ajaxDeleteFavoriteSite",
		type: "post",
		data: {linksArray: myArray},
		success: function(data){
			$closestTR.remove();
		},
		error: function(){
			alert('Ошибка: нет интернет соединения!');
		}
	})
})

Deff 20.08.2012 18:54

У Вас обработчик событий назначен до появления контента - для нового он работать не будет!
Обработчик на будущие контент и его события
deledit.live('click',function()
или для версий 1.7.0 и выше
deledit.on('click',function()

pro_xaoc 20.08.2012 19:20

LittlePony,
спасибо! помогло)
Deff,
этот метод я уже пробовал и с live и с on ... не помогло, хотя все равно спасибо)


Часовой пояс GMT +3, время: 02:47.