Питаюсь добавлять подкомментарии к комментам. Столкнулся с проблемой подкомментарии выводятся у всех комментариев которые есть на странице. Это код добавления подкомментов Код (Text): $(function() { $(".addccomm").click(function() { var comment = $(this).parent().parent().find("#commsg").val(); var datast = 'comment=' + comment; if(comment=='') { // alert('Please Give Valide Details'); } else { $("#flash").show(); $("#flash").fadeIn(400).html('<img src="ajax-loader.gif" align="absmiddle"> <span class="loading">Loading Comment...</span>'); $.ajax({ type: "POST", url: "commentajax.php", data: datast, cache: false, success: function(html){ $("div#update").append(html); $("div#update div:last").fadeIn("slow"); document.getElementById('commsg').value=''; $("#flash").hide(); $('div').parents(this).parents(this).parents(this).parents(this).parents(this).parents(this).parents(this).parents(this).parents(this).find('#flash').hide(); } }); } return false; }); }); Нужно словить как-то через this что нужно добавить подкомментарии именно к этому блоку (комменту) <div id="update" class="timeline"></div> // сюда выводятся подкомменти, Вот некоторый пример, как оно выглядит Код (Text): <div style="border: 2px solid green;"> <div id="update" class="timeline"></div> <div id="flash" align="left"></div> <form action="#" method="post"> <textarea name="comment" id="comment"></textarea><br /> <input type="submit" class="submit" value=" Submit Comment " /> </form> </div> <div style="border: 2px solid green;"> <div id="update" class="timeline"></div> <div id="flash" align="left"></div> <form action="#" method="post"> <textarea name="comment" id="comment"></textarea><br /> <input type="submit" class="submit" value=" Submit Comment " /> </form> </div> <div style="border: 2px solid green;"> <div id="update" class="timeline"></div> <div id="flash" align="left"></div> <form action="#" method="post"> <textarea name="comment" id="comment"></textarea><br /> <input type="submit" class="submit" value=" Submit Comment " /> </form> </div> Как в блоке Код (Text): success: function(html){ через $('this').parents() найти обьект в этом блоке не работает $('this')
Код (Text): $('div').parents(this).parents(this).parents(this).parents(this).parents(this).parents(this).parents(this).parents(this).parents(this).find('#flash').hide(); вы смотрите , а то на govnokod.ru попадёте parents может летать по дому хоть до верха одним вызовом Код (Text): document.getElementById('commsg').value=''; у вас jquery в вашем коде особо не разбирался , но суть такова: 0. вы знаете id комментария который хотите откомментировать 1. ставим класс каждому комменту class="comm_$comm_id" (для стилизации классы можно указывать через пробел "mystyle comm_$comm_id") 2. как я понял - у каждого коммента есть своя форма отправки - ставим ей атрибут tocomm="$comm_id" 3. дальше на js - $('.comm_'+$(this).attr('tocomm')).after(commtext);