![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 360 Pomógł: 12 Dołączył: 17.09.2009 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Witam,
może mnie ktoś nakierować jak powinno działać dynamiczne ładowanie danych do dropdown list(menu). W projekcie nad którym pracuję mam ustawienia w których podaje godzinę oraz stanowisko na którym ma znaleźć się człowiek o danej godzinie. Przez AJAX ładuje daną osobę otwierająć w divie kod z formularzami co ma wykonać na danym stanowisku i przy danej czynności są 2 selecty ze stanowiskie oraz godziną. Przekazanie danych przez get i załadowanie 3 pliku do diva mija się z celem. Jak mógł bym coś takiego wykonać? Wydaję mi się że najlepiej było by pobrać wolne stanowiska oraz godziny do tablicy i przez ajax operować danymi z tablicy dla przykładu 1. Odbiór paczki | 10:00 | 12 2. Dostarczenie paczki | 11:00 | 1 czyli jak wybieram godzinę 10:00 to w select option pojawia mi się wolne stanowiska o tej godzinie. zmianna godziny na 9:00 spowoduje zmiane listy ze wolnymi stanowiskami. Najlepiej jak jeszcze kolorowało by wolne stanowiska na zielono a zajęte na czerwono. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 360 Pomógł: 12 Dołączył: 17.09.2009 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
hmm, o to chodziło tylko nie da rady się zrobić bez użycia pliku szukaj.php bo teraz to było by tak queue.php odwołuje się do pliku getUser.php a getUser.php do searchQueue.php fajnie jak dało by się ograniczyć w ogóle do jednego pliku. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 360 Pomógł: 12 Dołączył: 17.09.2009 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Wszystko ładnie pięknie do póki nie pojawiło się klika selectów z tej samej kategorii.
wybieram zawodnika i na podstawie danych z bazy danych generuje mi formularz. np. zawodnik uczestniczy w 2 konkurencjach to generuje mi 6 selectów konkurencja1 | pawilon | godzina | stanowisko konkurencja2 | pawilon | godzina | stanowisko pawilon = select godzina = select stanowisko = select żeby rozróżnić selecty można dodać tablice id="pawilon[id_konkurencji]" name="pawilon[id_konkurencji]" tylko jak zrobić żeby kod js odczytywał z tablicy zmiane konkuretnego id
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Przede wszystkim musisz zmienić id pawilon na klasę, ponadto dodać atrybut id_konkurencji, czyli
w js pobierasz id:
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 360 Pomógł: 12 Dołączył: 17.09.2009 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
ok, ale teraz muszę kod html wyświetlić w odpowiednim selecie wiec jakoś var id_konkurencji muszę przekazać do odpowiedniego selecta
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
To znaczy chcesz do selecta wrzucić id_konkurencji czy odpowiedź z żądania ajaxa??
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 360 Pomógł: 12 Dołączył: 17.09.2009 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
odpowiedz w select który odpowiada za konkretną konkurencje.
czyli skoro w pawilon mamy id_konkurencji="1"> to chcemy wyświetlić odpowiedz w select godziny id_konkurencji="1"> następnie jak wybierzemy godzinę to tak samo musimy przekazać odpwiedz do select stanowisko |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
No ok, ale w czym problem, bo poprzednie posty z przykładami o tym mówią
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 360 Pomógł: 12 Dołączył: 17.09.2009 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
hmm poprzednie posty mówią o jasno określonych id selectów gdzie ma być załadowana odpowiedz u ciebie jest to id="modele" a u mnie godziny. Niby wystarczy zmienić nazwę ale co w przypadku gdy w formularzu musisz wybrać 3,4 lub 5 marek samochodów, modeli i koloru trzeba. Wydaje mi się że najlepszą opcją było by zastosowanie tablic czyli marka[], model[] i kolor[]. Jak było by do wybrania 5 marek to zawsze odpowiedz bedzie się pojawiała w pierwszym selekcie napodkanym przez skrypt. Jak zasotsuje nazwnictwo marka1, marka2 itd to dla każdego pola bede musiał mieć odpowiedni kod JS, a raczej na tym nie na tym a to polegać. Skoro cały formularz jest tworzony dynamicznie na podstawie danych z mysql to jakoś trzeba te pola rozrzóżniać z poziomu JS.
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Opakuj selecty te które są na tym samym poziomie czyli teoretycznie np. marka i model w jednego diva, powiedzmy:
możesz mieć wtedy selecty z tą samą klasą a wybierając select, do którego załaduje odpowiednie opcje piszesz $(this).parent('.container').find('.model').html('<option>...'); |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 360 Pomógł: 12 Dołączył: 17.09.2009 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
http://jsfiddle.net/CnAee/1/
Generalnie kwestia zmiany this na that. error: function() dałem tylko dla testów |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 360 Pomógł: 12 Dołączył: 17.09.2009 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
hmm, na jsfiddle działa jak zmienie URL na mój kod searchQueue.php kod przestaje działać. W firebugu w skrypt zostaje wywołany status 200 OK więc powinno dodać mi odpowiedzi z kodu js
Ten post edytował ghastblood 16.06.2014, 20:30:43 |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Przecież na jsfiddle jest
Kod success: function(){ $(that).parent('.container').find('.godziny').html("<option>10:00</option>"); czyli nie pobiera żadnej odpowiedzi powinno Kod success: function(msg){ $(that).parent('.container').find('.godziny').html(msg); dla testów daj jeszcze np. alert(msg) Ten post edytował Turson 16.06.2014, 20:36:00 |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 360 Pomógł: 12 Dołączył: 17.09.2009 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
poradziłem sobie jakoś
![]() ![]() zapomniałem o bardzo ważnej rzeczy jaką jest sam zapis do bazy danych. Wpadłem na taki pomysł.
Problem w tym że data przechwytuje pierwsze wartości z formularza. |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 360 Pomógł: 12 Dołączył: 17.09.2009 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
ajajaj. Sorki że nie wyjaśniłem dokładnie chodzi o to że formularz generuje kilka konterenów z 3 selectami
konkurencja1 | pawilon | godzina | stanowisko konkurencja2 | pawilon | godzina | stanowisko i z każdego selecta potrzebuje pobrać wartość czyli $_POST['konkurencja1'],$_POST['pawilon1'],$_POST['godzina1'],$_POST['stanowisko1'],$_POST['konkurencja2'],$_POST['pawilon2'],$_POST['godzina2'],$_POST['stanowisko2'] w formularzu mam name='konkurencja[]' itd |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Tak?
-------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 08:26 |