Ajax - load problem |
Ajax - load problem |
27.03.2018, 21:00:01
Post
#1
|
|
Grupa: Zarejestrowani Postów: 140 Pomógł: 0 Dołączył: 14.01.2017 Ostrzeżenie: (0%) |
Witajcie
Natrafiłem na problem tego typu, iż mam pewnego diva w którym jest klika elementów (select) korzystających ze skryptu zmieniającego domyślny styl select na inny. jest to lista ELEMENT A -> guzik zatwierdź ELEMENT B -> guzik zatwierdź ELEMENT C -> guzik zatwierdź ELEMENT D -> guzik zatwierdź po wybraniu z listy i zatwierdzeniu zmian na którymkolwiek elemencie przeładowuje diva, aby w pozostałych selectach zaktualizowały się dane. Problem w tym że po przeładowaniu przestaje działać styl select zasysany z pliku .js a w jego miejsce wskakuje zwykły select. Czy można to jakoś naprawić.
Ten post edytował topcio 27.03.2018, 21:00:37 |
|
|
27.03.2018, 21:03:57
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 240 Pomógł: 278 Dołączył: 11.03.2008 Ostrzeżenie: (0%) |
Żądanie AJAX powinno zwrócić czysty JSON a budowaniem formularza powinien zająć się JavaScript. Jak robisz inaczej (jak wyżej) to będziesz natrafiał na coraz więcej problemów.
Ten select jest budowany przez jakąś bibliotekę? Pewnie tak, więc po otrzymaniu tej błędnej odpowiedzi (bo zawiera HTML) musisz ją ponownie wywołać. Ten post edytował markuz 27.03.2018, 21:05:01 -------------------- |
|
|
27.03.2018, 21:09:15
Post
#3
|
|
Grupa: Zarejestrowani Postów: 140 Pomógł: 0 Dołączył: 14.01.2017 Ostrzeżenie: (0%) |
AJAX zwraca czysty JSON
a dokładnie poniższy tekst w postaci JSON
Selecty są budowane przez bibliotekę
Chodzi o to, że po przeładowaniu tego diva reload_3 te selecty przestają korzystać z biblioteki, ale dlaczego?? o to pytam Ten post edytował topcio 27.03.2018, 21:12:05 |
|
|
27.03.2018, 21:16:41
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 240 Pomógł: 278 Dołączył: 11.03.2008 Ostrzeżenie: (0%) |
JSON z HTML to nie jest czysty JSON
Masz wywołanie $('select:not(.ignore)').niceSelect(); podczas załadowania strony. Ten kod szuka selectów i podmienia im style, eventy itp. A potem wstawiasz nowy select i musisz powiedzieć tej bibliotece - "ej mam nowy select do ostylowania bo usunąłem stary!" czyli ponownie wywołujesz $('select:not(.ignore)').niceSelect(); jak wstawisz do DOM nowego selecta. -------------------- |
|
|
27.03.2018, 21:22:32
Post
#5
|
|
Grupa: Zarejestrowani Postów: 140 Pomógł: 0 Dołączył: 14.01.2017 Ostrzeżenie: (0%) |
JSON z HTML to nie jest czysty JSON No masz rację, chodziło mi że nie ma nic innego oprócz json w odpowiedzi Masz wywołanie $('select:not(.ignore)').niceSelect(); podczas załadowania strony. Ten kod szuka selectów i podmienia im style, eventy itp. A potem wstawiasz nowy select i musisz powiedzieć tej bibliotece - "ej mam nowy select do ostylowania bo usunąłem stary!" czyli ponownie wywołujesz $('select:not(.ignore)').niceSelect(); jak wstawisz do DOM nowego selecta. Ok to teraz wiem gdzie szukać, może mi się uda No i się udało, dzięki wielkie za nakierowanie. Chyba ostatnio przemęczony jestem bo nie widzę nic pod latarnią. |
|
|
Wersja Lo-Fi | Aktualny czas: 26.04.2024 - 09:46 |