Combo: País + Estado + Cidade

12 respostas
saoj

Isso é algo bem repetitivo.

Alguém conhece uma solução pronta pra isso.

Um componente, tag ou algo parecido?

Basicamente estou falando daquele combo que vc seleciona o país e daí entra os estados e as cidades daquele país…

Coisa básica (mas não trivial) de todo cadastro web…

12 Respostas

eduveks

Talvez isto te ajude…

http://www.oorsprong.org/websamples.countryinfo/CountryInfoService.wso

Por estados é q acho q não tem, mas tem o XML com a lista de continentes, paises, lingua, moeda, capitais, etc…

saoj

É bem mais complexo do que isso, visto que pais estado e cidade estão relacionados…

Pedrosa

Eu usaria a dupla JSON e Prototype para montar essas combos dinamicamente:

http://www.prototypejs.org/api

http://www.json.org/

Algo parecido com esse exemplo do VRaptor:

http://www.vraptor.org/pt/ajax.html

Caso não use o VRaptor monte seu proprio JSON para carregar essas listas, adicionando a lib no projeto.

saoj

Usar Ajax é uma opção.

IFRAME é outra.

A questão aqui não é como fazer e sim se já tem uma solução pronta para isso.

Como fazer eu sei, pois já fiz no passado. E posso garantir: Não é simples nem rápido.

Enquanto não aparece nenhum componente ou tag pra isso estou refazendo tudo aqui.

  • Alguns paízes não possuem estados, apenas cidades.

  • Vc tem que sincronizar os tres campos: pais, estado e cidade…

Essas são apenas algumas das complexidades…

Adriano_Almeida

Sérgio,

não sei se você já conhece, mas vai uma sugestão: http://ajaxtags.sourceforge.net/usage.html.

Agiliza bastante. Dê uma olhada na tag ajax:select

[Edited]
É lógico que vc vai ter que ter esses relacionamentos dos países com os estados e dos estados com as cidades já prontos no seu banco.
[/Edited]

Caso não seja bem isso que vc queria, desconsidere.

saoj

O relacionamento vai estar no banco.

Falo do relacionamento entre os vários select. Quando muda um muda outro, que muda outro. Esse interligamento…

Ter que refazer isso a todo novo projeto é muito ruim… Um caso clássico para um component ou tag…

cassio

saoj:

O relacionamento vai estar no banco.

Falo do relacionamento entre os vários select. Quando muda um muda outro, que muda outro. Esse interligamento…

Ter que refazer isso a todo novo projeto é muito ruim… Um caso clássico para um component ou tag…

Sergio,

Acho que a melhor opção seria algo com o AjaxTags ou DWR. Você pode criar uma tag que funcione mais ou menos como as dyntags do Mentawai, criando um <script>blablabla</script> ali no meio do jsp.

O DWR tem recursos MUITO bons para trabalhar com listas + elementos <select>, dá pra fazer várias brincadeiras. No evento onchange do <select> de países você chama o DWR para buscar sua lista de estados. Se ela vier vazia, vc vai e busca direto a de cidades, como vc mesmo disse que acontece. No onchange do <select> de estados vc busca a lista de cidades.
Vc tbm pode esconder o select de estados caso a respectiva lista venha vazia. É fácil checar essas coisas em javascript.

saoj

Onde tem uma boa referencia de JavaScript para eu descobrir como eu populo dinamicamente um combo box? Procurei no google mas não tive sucesso…

cassio

saoj:

Onde tem uma boa referencia de JavaScript para eu descobrir como eu populo dinamicamente um combo box? Procurei no google mas não tive sucesso…

http://getahead.org/dwr/examples/lists

eduveks

Olha só isto:

http://www.google.com/Top/Regional/

Depois se ir em Countries olha no que dá:

http://www.google.com/Top/Regional/Countries/

E depois se for em Brasil:

http://www.google.com/Top/Regional/South_America/Brazil/

E depois se for em States:

http://www.google.com/Top/Regional/South_America/Brazil/States/

Se voltar aos Countries:

http://www.google.com/Top/Regional/Countries/

E ir em Honduras por exemplo:

http://www.google.com/Top/Regional/Central_America/Honduras/

Vai ter ai as Ilhas em:

http://www.google.com/Top/Regional/Central_America/Honduras/Islands/

Pena é não ser WebService… e não sei se esta bem completo, mas parece q sim, para montar uma DB pelo menos já é uma fonte de dados…

D
  1. \o/ Programmers —após inúmeras pesquisas em querer encontrar uma rotina que me retorna-se todos os paises, estados e cidades mundiais não obtive sucesso, e vejo que muitos estão atrás disso também, por isso que arregacei as mangas e fiz esse combo-box abaixo usando a API do site … http://ws.geonames.org, Obs : ainda estou testando, mais a base de dados acredito que não esteja 100 %
    Saiu isso : http://du.somee.com/combo.asp
D

Acho que seria mais útil se você mostrasse como fez para carregar esses combos no asp :frowning: posso estar errado mais é o que penso.

Criado 20 de junho de 2007
Ultima resposta 27 de out. de 2011
Respostas 12
Participantes 7