Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Zależność zawartości pól w formularzu, zestawienie godziny np. przyjazdu i odjazdu
Lopmer
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 4.09.2009

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


Mam mały problemik z pewną sprawą. Otóż chciałbym otrzymać coś w rodzaju zależności jednego pola select od drugiego w formularzu.
Załóżmy, że formularz ma za zadanie poprosić użytkownika o wybranie 2 rzeczy: dla przykładu godziny przyjazdu i godziny odjazdu. Wybiera sobie za pomocą zwykłego <select> mając w <option> poszczególne godziny (dla uproszczenia tylko okrągłe, bez uwzględnienia minut i sekund - wiadomo, wtedy select nie miałby sensu. Pobieram tablicę zawierającą wszystkie godziny {jest ich 8 więc nie widzę tutaj innej opcji}). Chciałbym uzyskać taki efekt, że po wybraniu załóżmy w 1 polu godziny 8:00 nie mogę wybrać godziny wcześniejszej w drugim. Analogicznie w drugą stronę: po wybraniu godziny np. 6 w drugim polu nie mogę wybrać późniejszej w pierwszym.

Z góry dzięki za wszelkie wskazówki.


Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


To raczej w javascript ;]

Zdarzenie onchange na pierwszy select, potem nadajesz mu disabled a w drugim odpowiednio zmieniasz "wybór".


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
celbarowicz
post
Post #3





Grupa: Zarejestrowani
Postów: 253
Pomógł: 31
Dołączył: 30.03.2009
Skąd: Szczecin

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


a jak wybierzesz w drugim selekcie ostatnią pozycję to co wybierzesz w pierwszym?
do rzeczy.
mając na pierwszej liście godziny od 0 ...do 23 , możesz wybrać dowolną z tych godzin, po wybraniu pola z pierwszego selekta, drugi selekt pokazuje tylko godziny- liczby większe od wybranej poprzednio(drugi selekt w początkowych ustawieniach powinien mieć zakres od 1 do 24. w php nie ma problemu trochę trudnie zrobić to w JS.(drugi selekt nie powinien ograniczać pierwszego).
jak są dalsze pytania zgłoś się na PW.

sądziłe ,że pochwalisz się wynikami. ja zrobiłem TAK,ale to i tak ada się chyba na nic.
  1. <html>
  2. <head>
  3.  
  4. <script language="javascript" type="text/javascript">
  5.  
  6.  
  7. function dlugim(mm) { r=document.getElementById('odjazd').value;
  8.  
  9. r=eval(r);
  10.  
  11. p=document.getElementById('przyjazd').length=25-r;
  12.  
  13. document.getElementById('przyjazd').options[0].value='wybierz';
  14. document.getElementById('przyjazd').options[0].text='wybierz';
  15.  
  16. for(i=1;i<=p;i++){k=r+i;
  17.  
  18. document.getElementById('przyjazd').options[i].value=k;
  19. document.getElementById('przyjazd').options[i].text=k;
  20.  
  21. }
  22.  
  23. }
  24.  
  25.  
  26.  
  27. </script>
  28.  
  29. </head>
  30.  
  31. <body>
  32.  
  33. <SELECT name="odjazd" id="odjazd" size="1"onchange="dlugim();" > <?php $se=''; for($i=0;$i<=24;$i++){
  34. print '<option value='.$i.' '.$se.'>'.$i. '</option>';
  35. }
  36. ?>
  37. </select>
  38.  
  39. <SELECT name="przyjazd" id="przyjazd" size="1" onchange=""> <?php for($i=1;$i<=24;$i++){
  40. print '<option value='.$i.' '.$se.'>'.$i.'</option>';
  41. }
  42. ?>
  43.  
  44. </select>
  45.  
  46.  
  47. <br>
  48.  
  49. </body>
  50. </html>
  51.  
  52.  
  53.  
  54.  
  55.  

odezwij się człowieku

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 Aktualny czas: 20.08.2025 - 04:53