Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Forma sa 3 select box-a, dimaničko učitavanje iz baze

[es] :: Javascript i AJAX :: Forma sa 3 select box-a, dimaničko učitavanje iz baze

[ Pregleda: 2075 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

jocat
Jovica T
Inđija

Član broj: 58613
Poruke: 74
*.mbb.telenor.rs.

ICQ: 308769610


Profil

icon Forma sa 3 select box-a, dimaničko učitavanje iz baze04.03.2010. u 09:59 - pre 171 meseci
Rešavam problem forme i učitavanja podataka u 3 select box-a koristeći jQuery.

Napravio sam 4 fajla, php koji prikazuje formu i pretrage, js fajl sa jQuery naredbama, i 2 php fajla koja vraćaju vrednosti na osnovu jQuery zahteva na događaje change select box-ova.

Glavni php u startu učita sve podatke iz baze u sva tri select box-a. I ovde nije ništa sporno. Svaki od select elemenata sam postavio u div element sa odgovarajućim id-jem kako bih mogao da uz pomoć postavke html za div, promenim dinamički select.

Dinamička promena, tj js fajl izgleda ovako :
Code:
$(document).ready(function() {
     $("select#idoblast").change(function() {
          idoblasts =  $("select#idoblast").val(); 
          jQuery.get("pretragaGetGrupa.php", { idoblast:idoblasts },
             function(j){
                  $("div#divgrupa").html(j);
          }); 
          
          jQuery.get("pretragaGetPodgrupa.php", { tip :"1", vrsta : idoblasts },
             function(j){
                  $("div#divpodgrupa").html(j);
          }); 
          
          
    
     });  
     
     $("select#idgrupa").change(function() {
          vrstas = $("select#idgrupa").val();
          jQuery.get("pretragaGetPodgrupa.php", { tip :"2", vrsta : vrstas  },
             function(data){
                 jQuery("div#divpodgrupa").html(data).fadeIn(2000);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               }); 
    
     });  
     
     

});


Prilikom izbora recimo oblasti, tada se grupa i podgrupa lepo popune, a onda nakon toga, ukoliko izaberem grupu, podgrupa se ne popunjava kako treba.

Pak, ako prvobitno od grupa učitanih izaberem neku, tada se podgrupa validno učita.

Znači da prilikom prve promene liste grupa kad se promeni oblast, tada više izgleda change funkcija ne reaguje, iako je code koji je napravljen i vraća se od strane pretragaGetPodgrupa.php validan, odnosno sadrži odgovarajući html code gde je select polju definisan id.

Hvala na odgovorimo i strpljenu čitanja pitanja!

... sve se moze kad se hoce ...
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-1.sezampro.yu.



+33 Profil

icon Re: Forma sa 3 select box-a, dimaničko učitavanje iz baze04.03.2010. u 11:27 - pre 171 meseci
A šta tebi vraćaju ti AJAX handler-i pretragaGetGrupa.php i pretragaGetPodgrupa.php? Ako oni output-uju ceo select box, uključujući i <select> tag-ove, onda u tom slučaju moraš ponovo da bind-uješ change event na njih, što je malo nepraktično... Bolja varijanta je da ti handler-i ispisuju samo option-e, pa da onda html() pozivaš za svaki taj select box.

 
Odgovor na temu

jocat
Jovica T
Inđija

Član broj: 58613
Poruke: 74
*.mbb.telenor.rs.

ICQ: 308769610


Profil

icon Re: Forma sa 3 select box-a, dimaničko učitavanje iz baze05.03.2010. u 06:37 - pre 171 meseci
Upravo ovo što si naveo, jeste predstavljalo problem. Vraćani su <select> tagovi.

Pomenuo si bindovanje dogadjaja change sa select-om, pa možda ne bi bilo zgoreg da se i to pomene u ovoj temi na koji način bi bilo urađeno, iako je nepraktično.

Kad je nephodno koristiti bindovanje ovog tipa ?


... sve se moze kad se hoce ...
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-8.sezampro.rs.



+33 Profil

icon Re: Forma sa 3 select box-a, dimaničko učitavanje iz baze05.03.2010. u 09:21 - pre 171 meseci
Pa eto baš smo juče na ovoj temi spomenuli i metod live(). On radi isto što i bind(), samo što će se događaji biti "nakačeni" i za neke buduće elemente koje budeš dodavao. I u principu, ono što bi ti u tvom kodu trebao da izmeniš je da umesto $("select#idgrupa").change(function(){}), napišeš $("select#idgrupa").live('change', function(){}).
 
Odgovor na temu

[es] :: Javascript i AJAX :: Forma sa 3 select box-a, dimaničko učitavanje iz baze

[ Pregleda: 2075 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.