Показать сообщение отдельно
  #1 (permalink)  
Старый 30.05.2016, 11:39
Новичок на форуме
Отправить личное сообщение для voron121 Посмотреть профиль Найти все сообщения от voron121
 
Регистрация: 09.11.2013
Сообщений: 6

вывести результат AJAX в div с динамическим ид
Доброго времени суток.

Пытаюсь реализовать систему рейтинга для статей на сайте. Статьи выводятся в цикле, и для каждой статьи есть своя кнопка "лайк". Делаю все это чудо на связке AJAX+PHP. Т.к статьи выводятся в цикле то что бы не городить дубли одного и того же скрипта на кнопку посадил onClik с вызовом функции, которая должна будет обработать запрос и присвоить рейтинг. Вот сам код:

$(".urlparam").click(function () {
    	var id = $(this).data('id');
    	
		$.ajax({
		  type: "POST",
		  url: "/like.php", // Обработчик
		  data: "id="+id,// Отправляем id
		  dataType: "html",
		  cache: false,
		  success: function(data) {  
		  // Проверяем что ответил нам обработчик, если false значит пользователь уже голосовал. И выводим сообщение.
		  if (data == 'false')
		  {
		    alert('Вы уже голосовали!');
		  }  
		   else
		  {
		    $(".likeborder").html(data); // Если пользователь не голосовал, то помещаем в параграф общее кол-во голосов.
		  }
		 
		}
		});


	});


переменную id в начале кода получаем из кнопки (передаем ид материала, к которому голосуем). После всех манипуляций скрипт в блоке с классом .likeborder выводит результат. Сам скрипт работает но есесн когда в цикле выводим записи то голосуем за запись номер 1 а рейтинг обновляется у всех потому что у всех у них есть блок с классом .likeborder.

Я думал реализовать данную проблему таким образом : в цикле к каждому классу присвоить ид статьи а в скрипте так же переопределить блок, в котором будет обновляться рейтинг. Но при попытке внести изменения в скрипт :

Было $(".likeborder").html(data); стало $(".likeborder"+id).html(data);

Скрипт не выводит новый рейтинг в блоке с классом likeborder"+id
Дела. alert(); - пишет что ид undefined. На сколько я понимаю ид так и не передался в аякс и не переопределил класс в котором будет выводится результат работы.

Вопрос - как мне передать ид записи и переопределить класс в котором будет выведен результат?

Прошу прощение за быдло-код - я не знаток к сожалению в JS , только начинаю изучать многое.
Ответить с цитированием