Formularz php [zmiana select bez przeładowania]

0

Witam,
Mam stworzony formularz a w nim pola select wypełniane danymi z bazą danych.
Są tam dwa select województwa i miasta. Chce żeby po wybraniu np województwa Pomorskiego w drugim select pokazały się tylko miasta z tego woj. bez przeładowywania strony wie ktoś może jak to zrobić ?? Proszę o pomoc jaką technologię trzeba wybrać ??

0

javascript (wobec tego przenoszę do Webmastering).

0

JavaScript + Ajax (np.framework jQuery).

0

JQuery znam troszkę jest do tego jakaś funkcja i jak takie coś w tym zrobić resztę doczytam

0

nie ma do tego funkcji, ale w pare linijek cos takiego zrobisz (bez ajaxa, moim zdaniem to komplikuje tutaj)

  • robisz selecta o id wojewodztwa
  • robisz obok diva o id miasta
  • w optionach do województw jeżeli używasz value z jakimis id to spoko, jak nie, to utworzysz do każdego jakiś krótki atrybut typu data-wiazanie - do powiązania wybranego wojewodztwa z
  • w divie miasta umieszczasz szereg selectow (bez name) obok siebie - domyslnie wszystkie ukryte przez css (ale nie caly div) - kazdy z nich powinien byc powiazany w jakis sposob z optionem z wojewodztw (mozna uzyc np tagu data-wiazanie, albo nawet id, pamietajac, ze id nie moze zaczynac sie od cyfr)

potem cala sztuka to jest przechwycic zdarzenie zmiany wojewodztwa, odczytac wartosc tagu data-wiazanie (lub value), ukryc wszystkie widoczne selecty do miast, oraz wyczyscic im atrybut name, dopasowac wlasciwy select z miastami, nadac mu atrybut name (zeby odczytac wartosc w php), pokazac (zeby user go widzial).

czyli po przygotowaniu HTML (z czym chyba nie bedzie problemu?) bedziesz potrzebowal funkcji jQuery

  • ready (do elementu document) - do uruchomienia skryptu po załadowaniu HTML
  • change (do elementu select z wojewodztwami) - do przechwycenia zdarzenia zmiany wartosci
  • val, albo attr (do odczytania value, lub data-wiazanie) - w drugim przypadku przyda sie tez find (do odnalezienia wybranego optiona)
  • hide/show
  • removeAttr (do usuniecia atrybutu), attr (wspominany wyzej do odczytu, ale mozna nim ustawic atrybut)

Chyba tyle. Teraz zostaje Ci nauka i czytanie dokumentacji :)

0

Ok dzięki jutro sprawdzę jak to działa bo Jquery znam wiec z tym problemu nie będzie ale jak tak analizowałem to wydaje mi się ze powinno chodzić :) z przygotowaniem HTML też problemu nie mam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1