.toggle - jak połączyć z dołączonym kodem z ajax [jQuery]

0

Witam dzisiaj ponownie ;). Następnym problemem jakim napotkałem się przy tworzeniu komentarzy jest ich chowanie się i pojawianie.

Otóż kiedy kliknę w znacznik < a>"odpowiedz" ładnie pojawia mi się formularz, który jet schowany w ajaxie. Niestety pojawiał się tyle razy pod komentarzem ile kliknąłem w guzik odpowiedz. Zacząłem więc się bawić funkcją .toggle i nawet byłoby fajnie gdyby nie to, że gdy próbuje ją zainicjować przy (data).toggle; to chowa mi się znacznik < a >(który ma pozostać) a wysuwa formularz ;).
Ja natomiast zamierzam zrobić to że chcę by wysunał sie ten komentarz, ale z ta różnicą że gdy kliknę w inny znacznik "odpowiedz" pod innym komentarzem, chciałbym by mi się schował ten formularz który kliknąłem poprzednio.

$('.clickme').on('click', function(){    // próbowąłem tez tak	$('.clickme').click (function() - efekt był taki że < a > znikął po drugim kliknięciu //


	$('.clickme').attr('value');
	
	var id = $(this).data('id');
   var login = $(this).data('login');
   
   
	 $.ajax(
  {
      url: "ajax.php",
      success: function(data) {
 $("a[data-id='" + id + "']").after(data).toggle('fast');
  $('.inputt2').val("@"+login);
 }
  }
);
 if(value=='Hide') $('.clickme').attr('value','Show');
   else if (value=='Show') $('.clickme').attr('value','Hide');

   });
 

jak więc zrobić by przy kliknięciu pod innym komentarzem znacznika < a >odpwoiedz< / a > schował mi się formularz poprzedni?

1

przed odpaleniem show na formularzu nastepnym do kliknietego linka schowaj wszystkie formularze za pomoca klasy. pamietaj tylko by ogarnac klikniecie tego samego elementu raz jeszcze

np. cos takiego: http://jsbin.com/fopuxodi/3/edit

0

Więc tak, usunąłem

 if(value=='Hide') $('.clickme').attr('value','Show');
   else if (value=='Show') $('.clickme').attr('value','Hide'); 

i dodałem twoje linijki kodu i jest w porządku. Tylko że znacznik a znikał na dobre, więc usunąłem toggle przy (data) i jest już lepiej.
Został mi tylko jeden problem, bo kiedy klikam odpowiedz pod komentarzem 1 wyskakuje mi formularz pod nim, gdy kolejny raz klikam przy drugim to znika z pierwszego i pojawia pod drugim, co oczywiscie jest już sukcesem, ale niestety gdy znów kliknę przy pierwszym to oczywiście chowa mi się ten drugi ale przy pierwszym już mam dwa formularze ;D. Jakieś pomysły?

0

gdzies dublujesz te formularze, bez kodu juz bedzie bardziej wrozba

0
 
<script type="text/javascript" >
$('.clickme').click(function(){
	var id = $(this).data('id');
   var login = $(this).data('login');  
	 $.ajax(
  {
      url: "ajax.php",
      success: function(data) {
 $("a[data-id='" + id + "']").after(data);
 $('.inputt2').val("@"+login);
 }
  }
);
   });
</script>
<script type="text/javascript" >
$(document).ready(function(){
  $(".clickme").click(function(){
    var nextForm = $(this).next(".forme");
    var show = !nextForm.is(":visible");
      $(".forme").hide();
      nextForm.toggle(show);
  });

});

</script>

Wiem źle mam je połączone chyba ; /

1 użytkowników online, w tym zalogowanych: 0, gości: 1