Thread View: pl.comp.lang.javascript
1 messages
1 total messages
Started by adamrw
Mon, 18 Jul 2011 17:41
jquery UI autocomplete
Author: adamrw
Date: Mon, 18 Jul 2011 17:41
Date: Mon, 18 Jul 2011 17:41
48 lines
3537 bytes
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