![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 2 Dołączył: 9.03.2004 Skąd: POLSKA Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Po wyselekcjonowaniu wyników zapytania z "potrójnej" wyszukiwarki (bez przeładowania strony) i wyborze jednego z nich, wynik z rozszerzonym opisem wyświetlony jest na nowej stronie. Niestety po kliknięciu przycisku WSTECZ w przeglądarce, strona z wyszukiwarką traci ustawienia, jakie zostały wybrane do wyświetlenia wyników. Do zwrotnego przesłania parametrów zastosowałem funkcję $_SESSION, ale niestety nie bardzo wiem, jak to "podpiąć" pod wyszukiwarkę. Wyszukiwarka:
Plik get_marka.php (analogicznie są zrobione get_model.php i get_rocznik.php)
Plik js_haki.js odpowiedzialny za obsługę formularza
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 807 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
W pierwszym <select> zaznaczasz opcję na podstawie zmiennej w sesji, a do dwóch pozostałych zaczytujesz i zaznaczasz na podstawie pozostałych zmiennych.
select1 - zaznaczony na podstawie $id_marka, select2 - rekordy (modele) wybrane na podstawie $id_marka i zaznaczona opcja na podstawie $id_model select3 - rekordy (roczniki) wybrane na podstawie $id_model i zaznaczona opcja na podstawie $id_rocznik Jeśli, którejś zmiennej brak, to zostawiasz zależny od niej i podrzędne selecty puste. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 2 Dołączył: 9.03.2004 Skąd: POLSKA Ostrzeżenie: (0%) ![]() ![]() |
Po WSTECZnym, pole select marki wyświetla ostatnio wybraną markę, ale pozostałe 2 select'y są puste. Poza tym, wyświetla wszystkie marki.
Dla zobrazowania |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 807 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Ale zaczytujesz dane do tych selectów w PHP (nie poprzez Ajax)?
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 2 Dołączył: 9.03.2004 Skąd: POLSKA Ostrzeżenie: (0%) ![]() ![]() |
No chyba to jest ze sobą powiązane.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 807 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
No chyba nie. Ajax jest wywoływany przy zmianie wartości w <select>. To co opisałem powinieneś zrobić przy generowaniu zawartości strony.
Od biedy możesz wywoływać zdarzenia wyboru wartości w listach ze skryptu - element.trigger('change'). P.S. Jeszcze lepiej by było gdybyś użył History API, wtedy w adresie URL mógłbyś umieszczać kolejne parametry. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 2 Dołączył: 9.03.2004 Skąd: POLSKA Ostrzeżenie: (0%) ![]() ![]() |
Kurcze, nie znam tego.
Tak się zastanawiam, czy nie pomogła by zmiana przesyłania zmiennych z post na get (3 kroki wyszukiwarki)? Wówczas mógłbym zamienić na "przyjazne linki" i byłoby OK? |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 807 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Nic to nie zmieni, bo przesyłasz dane Ajaxem, czyli strona się nie przeładowuje.
Gdybyś używał wspomnianego History API, to wtedy mógłbyś użyć. Jeszcze raz: 1. trigger('change') przy załadowaniu strony na liście 2 i 3, 2. lub wypełnienie list (już w PHP przy generowaniu strony/HTML) na podstawie zapamiętanych w sesji zmiennych. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 2 Dołączył: 9.03.2004 Skąd: POLSKA Ostrzeżenie: (0%) ![]() ![]() |
Zmieniłem wszystkie Select'y na:
Po tej zmianie pierwszy select wyświetla nazwę wybranej wcześniej marki, rocznik również wyświetlony jest w Select, ale zniknął drugi select (model) - wyświetla tylko jego nazwę. Natomiast zawartość (poniżej wyszukiwarki, w której wyświetlane są wybrane rekordy, jest pusta. Chyba, że powinienem coś jeszcze zmienić w przywoływanym w ajaxie pliku pokaz_haki.php:
Ten post edytował Przemo75 1.04.2018, 18:26:42 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 23:53 |