Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [jQuery] Restart
propage
post 8.02.2009, 17:46:49
Post #1





Grupa: Zarejestrowani
Postów: 330
Pomógł: 0
Dołączył: 25.01.2008

Ostrzeżenie: (0%)
-----


Zrobiłem sobie w jquery, system rankinku, klient klika w gwiazdke, aby zagłosować, w tym momencie głos zostaje zliczony i php (ajax) odsyła mi uaktualniony ranking.

Problem w tym, że kiedy skrypt juz auaktualni gwiazki, jeśli klient ponownie kliknie w gwiazdke, to skrypt sie nie wykonuje. Po odświeżeniu strony nie ma tego problemu.

Wnioskuje, że trzeba jakby jeszcze raz wykonać. Wnioskuje, że jeszcze raz trzeba przypisać akcje "gwiazdkom" do głosowania tym już auaktalnionym, tylko jak to zrobić

Dla wiekszego zrozumienia podaje fragment skryptu

  1. $(document).ready(function(){
  2.    $('.gwiazdki a').click(function() {
  3.        
  4.        var vote;
  5.        var item_id;
  6.        this_id     = $(this).parent();    
  7.        item_id     = $(this).parent().attr('title');
  8.        vote         = $(this).attr('title');
  9.        
  10.        $.post("http://<?=$config['domain']?>/ajax/rating.php", {item_id: item_id, vote: vote },
  11.              function(data){
  12.            var data_arr = data.split('|');
  13.            alert(data_arr[0]);
  14.            if(data_arr[1].length > 1 )
  15.            this_id.html(data_arr[1]);  //Tutaj nastepuje aktalizacja, czyli dotychczasowe gwiazki sa zastepowane nowymi (tego koloru jakiego powinny byc), ale nic pozatym sie nie zmienia, i po tej operacji " $('.gwiazdki a').click(function() {" nie zadziała.
  16.        });  
  17.        
  18.        return false;
  19.        
  20.    });        
  21. });
Go to the top of the page
+Quote Post
Kihol
post 9.02.2009, 10:22:58
Post #2





Grupa: Zarejestrowani
Postów: 46
Pomógł: 6
Dołączył: 20.06.2005
Skąd: Pyskowice

Ostrzeżenie: (0%)
-----


Nie ma prawa zadziałać, bo podpiąłeś event onclick pod inny obiekt.
Tzn $(document).ready wykonuje się tylko raz: po załadowaniu całego dokumentu i podpina event (onclick w tym przypadku) pod konkretne obiekty. Po przeładowaniu gwiazdek to już są zupełnie inne obiekty. Lepiej podmień tylko src odpowiednich gwiazdek, wtedy obiekt pozostanie, a podpięty do niego event będzie działał.
Mam nadzieję, że wyraziłem się zrozumiale.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.07.2025 - 06:33