Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dwie zależne od siebie rozwijane listy
Forum PHP.pl > Forum > PHP
slawekxx
Witam , właśnie napisałem prosty kod do rozwijanej list a teraz chcę aby po wybraniu ale nie klikająć na przycisk submit wybrać drugą rozwijaną listę zależną od pierwszej np.

Region ŚLĄSK - Katowice ,Bielsko-Biała itd.
MAŁOPOLSKA -Kraków itd.


  1. <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
  2. <select name=region size="1">
  3. <?php
  4.  
  5. $zapytanie ="SELECT DISTINCT `region` FROM dane_koncowe ORDER BY region ASC";
  6. $wynik=mysql_query($zapytanie);
  7. while($rekord=mysql_fetch_assoc($wynik)){
  8. echo'<option value"'.$rekord['station_id'].'">'.$rekord['region']."</option>\n";
  9. }
  10. ?>
  11. </select>
  12.  
  13. <input type="submit" name="wyswietl" value="Wybierz" />
  14.  
  15. </form>
naitsabes
wydaje mi sie ze technologia javascript powinna pomoc winksmiley.jpg
slawekxx
a możesz mi pomóc ?
naitsabes
Niestety nie orientuje sie w tym jezyku, ale ktos na pewno napisze.

Pozdrawiam
lord2105
AJAX Select Option
CuteOne
poczytaj o onChange

a tu skromny przykład: link
celbarowicz
trzy zależne selekty z przeładowaniem. zobacz na poznam.yoyo.pl nie jest to majstersztyk ale jakoś działa, jak jesteś zainteresowany to zgłoś się w giełdzie ofert
to jest strona testowa.
slawekxx
Fajny przykład , tylko czy on działa z bazą mysql bo się trochę męczę z tym
skowron-line
Jeżeli interesuje Cie rozwiązanie w Mootoolsie to napisz do mnie na PW to Ci podeśle skrypt, który działa na 2 selekty.
PiterosWeb
Pokombinuj z tym Ajaxem biggrin.gif

Ten ajax działa tak że przeładowuje w tle plik do którego ścieżka jest podana i umieszcza go w podanym przez nas np. div-ie.
Ja go zastosowałem tak że przeładowuje mi on zapytanie do bazy danych dzięki czemu ładuje mi nowe dane bez przeładowania stronki biggrin.gif


Od razu mówię że skrypt nie jest mój znalazłem go kiedyś i stosuje do własnych potrzeb winksmiley.jpg

Kod
if (window.XMLHttpRequest)
  {
   ObiektXMLHttp = new XMLHttpRequest(); }
   else if (window.ActiveXObject)
      {
       ObiektXMLHttp = new ActiveXObject("Microsoft.XMLHTTP"); }


function getData(zrodlo, cel) {
if(ObiektXMLHttp)
  {
   var cel = document.getElementById(cel);
   ObiektXMLHttp.open("GET", zrodlo);

ObiektXMLHttp.onreadystatechange = function()
{
if (ObiektXMLHttp.readyState == 4)
   {
    cel.innerHTML = ObiektXMLHttp.responseText;
   }
}

ObiektXMLHttp.send(null); } }


i jeszcze to będzie potrzebne

Kod
<TD onclick = "getData('LINK_DO_PLIKU_KTÓRY_MA_ZOSTAĆ_ZAŁADOWANY', 'div')">


Ten kawałek kodu możesz zmienić pod link lub jakiś obrazek co chcesz.
a "div" zmień sobie na id danego np. div-a czy komórki w tabeli bo do tego miejsca on przeładuje ten plik którego ścieżke podasz.
a w <HEAD> daj to:

  1. <script type="text/javascript" src="ŚCIEŻKA_DO_PLIKU_Z_AJAXEM"></script>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.