Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.08.2012, 17:38
Аспирант
Отправить личное сообщение для pro_xaoc Посмотреть профиль Найти все сообщения от pro_xaoc
 
Регистрация: 23.03.2011
Сообщений: 69

Не могу разобраться с 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(); до аякса, то он работает. Почему так? Заранее спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 20.08.2012, 17:52
Аватар для LittlePony
Кандидат Javascript-наук
Отправить личное сообщение для LittlePony Посмотреть профиль Найти все сообщения от LittlePony
 
Регистрация: 19.08.2012
Сообщений: 100

О! Моя любимая тема!
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('Ошибка: нет интернет соединения!');
		}
	})
})
Ответить с цитированием
  #3 (permalink)  
Старый 20.08.2012, 17:54
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,220

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

Последний раз редактировалось Deff, 20.08.2012 в 17:56.
Ответить с цитированием
  #4 (permalink)  
Старый 20.08.2012, 18:20
Аспирант
Отправить личное сообщение для pro_xaoc Посмотреть профиль Найти все сообщения от pro_xaoc
 
Регистрация: 23.03.2011
Сообщений: 69

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не работает AJAX или JQuery в Safari vladimircape Opera, Safari и др. 3 29.01.2013 17:52
Какая разница между post запросами jquery и ajax? Rooner jQuery 2 18.06.2012 13:29
ajax - jquery, не заменять а добавлять... point3d jQuery 2 13.11.2011 17:28
Ищу в Минске репетитора по Javascript, Ajax, Jquery Shahmatist Работа 0 19.05.2011 17:07
Не работает jQuery меню с AJAX eugene1986 jQuery 0 08.07.2010 17:49