Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z odświeżaniem
gucio1
post 9.01.2018, 03:09:29
Post #1





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 30.04.2016

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


Witam,
mam następujący problem.

Mam listę zamówień wyświetlaną jako tabela. Każdy rekord tabeli można rozwinąć po naciśnięciu przycisku i np zmienić status zamówienia.

Statusy zmieniam ajaxem i jsonem. To wszystko super dziala statusy aktualizują sie w bazie itp.

Chcialem wprowadzić podział na kategorie bo nazbierało się duzo zamówień.
I wymyśliłem sortowanie również bez odświeżania po naciśnieciu odpowiedniego buttona z ramki sortowanie.

Wiec jeśli chcę zamówienia karegorii 1 klikam na przycisk kategoria 1 i wyświetlają mi wszsytkie rekordy kategorii 1.
Ok to wszystko działa. Tylko kiedy po wybraniu kategorii i ograniczeniu rekordów tabeli tylko do tych które mnie interesują chcę rozwnąć zamówienie i zmienić status to strona mi się przeładowuje bez zadnych zmian w bazie.

Jeśli stronę odświeże standardowo nie zmienię żadnej kategorii i próbuje rozwinąć 1 zamówienie i zmienić status wszsytko jest OK.

Czyli problem pojawia się kiedy najpiew wybiore kategorie tabela z rekordami sie przeładuje i wtedy chce zmienić status jakoegoś zamówienia.
Tak jakby po przeładowaniu tabeli czegoś brakowało.
Dodam jeszcze że przy ladowaniu strony standardowo używam tej samej klasy do wyświetlenia tabeli co przy zmianie kategorii więc nie ma mowy o nie załadowaniu czegoś z phpa jakiegoś elementu o klasie lub id.

Wydaję mi się że po wykonaniu skryptu sortowania kategorii skrypt zmiany statusu jest tak jakby go nie było.
Czego to może być przyczyna?
Go to the top of the page
+Quote Post
viking
post 9.01.2018, 06:57:02
Post #2





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


Zapewne standardowy problem czyli źle podpięte zdarzenia.


--------------------
Go to the top of the page
+Quote Post
gucio1
post 11.01.2018, 14:26:13
Post #3





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 30.04.2016

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


Rozwiązałem "głupio" ten problem,
choć nie jest to dobre rozwiązanie.

Wczytując ponownie tabele dodałem do kodu PHP skrypt JS żeby za każdym przeładowaniem tabeli skrypt wczytywał się od nowa.
To takie "chamskie" rozwiązanie ale o dziwo działa.
Wniosek jest chyba taki że po przeładowaniu tabeli tworzy się taka sytuacja jakby kodu JS nie wykrywało i muszę go co przeładowanie tabeli na nowo wczytywać, mimo że kod JS jest standardowo w nagłówku head który nie jest przecież odświeżany.
Go to the top of the page
+Quote Post
viking
post 11.01.2018, 14:41:16
Post #4





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


https://prophp.pl/article/28/propagacja_i_d...en_w_javascript


--------------------
Go to the top of the page
+Quote Post
gucio1
post 11.01.2018, 15:13:53
Post #5





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 30.04.2016

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


Czyli chyba ja robię sposobem który w artykule jest opisany jako "fatalny" biggrin.gif

Jeśli mniej więcej zrozumiałem, chodzi o to żeby skrypt nie szukał po całej stronie wśród elementów o danej nazwie, tylko szukał konkretnego elementu o indywidualnej nazwie?

Zapoznam się wieczorem jak będę miał więcej czasu.

Dzięki.
Go to the top of the page
+Quote Post
viking
post 11.01.2018, 15:19:15
Post #6





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


Chodzi o to żebyś zdarzenia przypinał do rodzica (niezmiennego) który będzie nasłuchiwał niżej w drzemie DOM na zdarzenia.


--------------------
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: 28.03.2024 - 23:24