<div id="1">
Текст комментария
<span class="like_count">12</span>
<a class="like">мне нравится</a>
</div>
Мне нужно что бы по нажатию на ссылку с классом like посылался запрос на страницу site.com/api/like/ с POST параметрами comment_id = 1 (тут id комментария берется из родительского тега div) и like = up_count
При этом необходимо что бы числовое содержимое span тега увеличивалось на 1, то есть было 12 стало 13, но это после того как POST запрос отправлен.
CLICK надеюсь умеешь на LIKE посадить? Далее через .closest() находишь родителя DIV, у него получаешь атрибут ID https://api.jquery.com/jquery.post/
Выглядит примерно так (не проверял, могут быть ошибки)
$('.like').om('click',function(e){
var parent = $(e).closest('div');
$.post( "site.com/api/like/", { comment_id: parent.attr('id')} );
// ниже код лучше на callback post посадить, но для примера пусть будет так, это проще воспринимать
var count = parent.find('like_count');
count.html( parseInt(count.html() )+1 );
})
<script>
jQuery('a.r3e').on('click',function () {
var id = jQuery(this).attr('id');
$.ajax({
url:"/api/reviews/uplike/",
method: "POST",
data: ({ id: id }), //отправляем постом id элемента
beforeSend: function(data) {
// выводим диалоговое окно о том что лайк проставляется
alert('ставим лайк');
},
complete: function(data) {
// лайк успешно поставлен, запрос post передан
alert('спасибо за активность на сайте');
}
});
return false;
});
</script>
решил вопрос таким способом
Продвижение своими сайтами как стратегия роста и независимости