🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.javascript
1 messages
1 total messages Started by adamrw Mon, 18 Jul 2011 17:41
jquery UI autocomplete
#50829
Author: adamrw
Date: Mon, 18 Jul 2011 17:41
48 lines
3537 bytes
Witam
Tworzę formularz w którym kolejno wpisywane pola będą miały funkcję
autouzupełniania. Dodatkowo dostępne wartości następnego pola będą
zależne od wybranej wartości poprzedniego pola. Przykładowo mamy kraje
i miasta. Po wybraniu kraju w polu miast będą podpowiadane tylko te
miasta które należą do wybranego kraju.
Przygotowałem sobie formularz który zawiera następujące pola:
<input type="text" id="country"  name="country" /><input type=hidden"
id="country_id" name="country_id" />
<input type="text" id="city"  name="city" /><input type=hidden"
id="city_id" name="city_id" />
oczywiście pola country_id i city_id są dla wygody, by łatwiej było
odebrać dane.
Do obsługi tego napisałem następujący skrypcik:
var city_parent_id;
        $(function() {
            $("#country").autocomplete({
                source: "getData.php?type=country",
                select: function(event, ui) {
                    $('#country_id').val(ui.item.id);
                }
            });
            $("#city").autocomplete({
                source: "getData.php?
type=city&parent_id="+city_parent_id+"",
                select: function(event, ui) {
                    $('#city_id').val(ui.item.id);
                }
            });
            $("#country").focusout(function(){
                city_parent_id = $('#country_id').val();
                $("#info").html(city_parent_id);
            });
        });
Problem jest taki, że nie wiem czemu ale do skryptu getData.php
podczas wyboru miasta jest przesyłany parent_id=undefined . Co ciekawe
podczas wyjścia z pola country w bloku #info pojawia się poprawna
wartość city_parent_id, więc jest ona na pewno najpierw ustawiana a
potem wykonuje się autocomplete od #city, ale ten już nie widzi nowej
wartości city_parent_id. Podpowiedzcie proszę co robię źle.
Poza tym to city_parent_id zrobiłem jako obejście bo najpierw myślałem
że zamiast
source: "getData.php?type=city&parent_id="+city_parent_id+"",
lepiej było by
source: "getData.php?type=city&parent_id="+$('#country_id').val()+"",
ale ponieważ nie działało zacząłem kombinować ze zmienną.

Pozdrawiam
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads