Populando combobox com JQuery ( Ajax )

Maio 10, 2007 on 10:22 am | In Informatica, php, JavaScript, JQuery, AJAX |

Mais uma vez vamos a um tutorialzinho de como popular um combobox apartir de outra seleção, a idéia aqui é a tão famosa Seleciona o estado e retorna todas as cidades em outro combobox sem dar reload na página, para isso vamos economizar bastante código e tempo utilizando o framework do JQuery.

Primeiro vamos ter uma tabela com todas as cidades brasileiras... são 5564 (pelo que eu achei) e é um pouco dificil escreever tudo isso no input para dentro de um banco de dados, por isso segue o link para pegar esse sql pronto : Todas cidades brasileiras em SQL.

Depois de criar vamos criar o form, ai como isso vai ficar grande, vou economizar codigo colocando em umas linhas, mas deem preferencia para linhas organizadas (hehehe):

HTML:
  1. <form name="frmAjax">
  2.  
  3. <label for="listEstados"> Estado:&nbsp;</label>
  4. <select name="listEstados">
  5. <option value="0"> Selecione o estado>></option>
  6. <option value="ac">Acre</option>
  7. <option value="al">Alagoas</option>
  8. <option value="ap">Amapa</option>
  9. <option value="am">Amazonas</option>
  10. <option value="ba">Bahia</option>
  11. <option value="ce">Ceara</option>
  12. <option value="df">Distrito Federal</option>
  13. <option value="es">Espirito Santo</option>
  14. <option value="go">Goias</option><option value="ma">Maranhao</option><option value="mt">Mato Grosso</option><option value="ms">Mato Grosso do Sul</option><option value="mg">Minhas Gerais</option><option value="pa">Para</option><option value="pb">Paraiba</option><option value="pr">Parana</option><option value="pe">Pernambuco</option><option value="pi">Piaui</option><option value="rj">Rio de Janeiro</option><option value="rn">Rio Grande do Norte</option><option value="rs">Rio Grande do Sul</option><option value="ro">Rondonia</option><option value="rr">Roraima</option><option value="sc">Santa Catarina</option><option value="sp">Sao Paulo</option><option value="se">Sergipe</option><option value="to">Tocantins</option>
  15. </select>
  16.  
  17.  
  18.  
  19. <label for="listCidades">Cidade:&nbsp;</label>
  20. <select name="listCidades">
  21. <option id="opcoes" value="0">-- Primeiro selecione o estado --</option>
  22. </select>
  23.  
  24. </form>

Agora vamos ao uso do Jquery, primeiro chamamos o framework, caso você não esteja acustumado, ou nunca viu como utilizar ele, basta pegar ele e chamar ele na página, COMO?

HTML:
  1. <script type="text/javascript" xsrc="js/jquery.js"></script>

Agora vamos realmente ao código que interessa. Primeiramente eu digo que irei chamar um método quando o botão de 'listEstados' for 'mudado':

JAVASCRIPT:
  1. $("select[@name=listEstados]").change(function(){
  2. });

Depois então que eu mudar ou melhor selecionar um Estado, vou mudar a opção das cidades para Procurando, afim de informar o usuário, que estou procurando os dados para ele:

JAVASCRIPT:
  1. $('select[@name=listCidades]').html('Procurando :::::::');

Logo em seguida chamo o AJAX, envio um POST para ele do estado que selecionei e com isso digo o arquivo que irei passar esse POST e recebo uma resposta:
Enviando para arquivo : buscacidade.php
Enviando a variavel estado : 'valordo form, estado que eu selecionar'
Então recebo uma reposta chamada 'resposta';

JAVASCRIPT:
  1. $.post('buscacidade.php',
  2. { estado : $(this).val() },
  3. function(resposta){
  4. }
  5. );

Apos a Resposta basta eu mudar todo a listagem de cidade que eu recebi como resposta:

JAVASCRIPT:
  1. $('select[@name=listCidades]').html(resposta);

O arquivo buscacidade.php se pareçe com isso aqui :

PHP:
  1. if (isset($_POST['estado'])){
  2.  
  3. $res=mysql_query('SELECT * FROM cidades WHERE uf = \''.$_POST['estado'].'\'');
  4. $cont=0;
  5. while($ok=mysql_fetch_array($res)){
  6. $vai=crossUrlDecode($ok['municipio']);
  7. echo ''.$vai.'';
  8. $cont++;
  9. }
  10. }else{
  11. echo 'Erro no envio dos dados';
  12. }

O código por completo, como ficou ?

JAVASCRIPT:
  1. $().ready(function() {
  2. $("select[@name=listEstados]").change(function(){
  3. $('select[@name=listCidades]').html('<option value="sda">Procurando :::::::</option>');
  4. $.post('buscacidade.php',
  5. { estado : $(this).val() },
  6. function(resposta){
  7.  
  8. $('select[@name=listCidades]').html(resposta);
  9. }
  10.  
  11. );
  12. });
  13. });

Para ver esse código todo em funcionamento clique AQUI.

É isso ae, super simples e funcional; alem de ser rápido de se iplementar, acho que meu maior tempo gasto foi escreevendo esse tutorial, demorou 2 dias (??), hehehe. Dúvidas? Sugestões? So comentar...


67 Comments »

RSS feed for comments on this post. TrackBack URI

  1. Daeh kra. Olha eu denovo nos seus post. Uma coisa alih no php. o site br.php.net não reconhece a função crossUrlDecode. Poderia corrigir?

    Comment by Julian Silva — Maio 22, 2007 #

  2. Segue 2 URL que tem a função ( não nativa no PHP ), ela serve para arrumar os caracteres com acentos, pois bagunça por causa do envio e recebindo do AJAX. Também nos meus arquivos para download tem essa função.

    Link 1
    Link 2 

    Abraços

    Comment by silici0 — Maio 22, 2007 #

  3. E como posso inserir essa função no meu php. Pois está dando erro direto nessa função.
    Fatal error: Call to undefined function: crossurldecode()

    Comment by Julian Silva — Maio 23, 2007 #

  4. No local onde é chamado essa função, basta copiar e colar o código antes... como disse anteriormente, existe esta função para download no meu POST também.

    Abraços

    Comment by silici0 — Maio 23, 2007 #

  5. Novamente deu erro. Só que agora deu
    Fatal error: Cannot redeclare crossurldecode() na linha function crossUrlDecode($source) {

    Comment by Julian Silva — Maio 23, 2007 #

  6. É porque a função ja esta declarada... me adiciona no msn: rafcunha@terra.com.br
    Assim poderemos conversar melhor.

    Abraços

    Comment by silici0 — Maio 23, 2007 #

  7. Boa tarde Rafael, eu estou querendo fazer exatamente essa combo de estado e de cidade sem dar o refresh na minha página.
    Eu segui os seus passos mas não está carregando a combo de cidades, Tem algum outro passo que devemos fazer? Desde já agradeço

    Comment by Igor — Maio 23, 2007 #

  8. Deu uma olhada no código do teste e comparou com o seu?
    Teste o envio dos dados... com alert(response)...

    Dificil dizer onde esta o problema exatamente, é necessário conheçer javascript para verificar os detalhes de envio e recebimento....

    Abraços

    Comment by silici0 — Maio 23, 2007 #

  9. Kra mais naum tem nada de java no arquivo buscacidade.php, e é lá que está dando o erro. O erro vem do php mesmo.

    Comment by Julian Silva — Maio 23, 2007 #

  10. no script de javascript coloque assim:

    function(resposta){
    $('select[@name=listCidades]').html(resposta);
    alert(resposta);
    }

    Vai apresentar uma janela de alerta com o retorno do arquivo buscacidade.php
    Qualquer dúvida so informar.

    Abraços

    Comment by silici0 — Maio 23, 2007 #

  11. O meu tb está dando erro na página buscacidade.php na linha
    $vai=crossUrlDecode($ok['municipio']);
    mas antes de tudo isso eu coloquei o código
    include "conecta_MySQL.php";
    que serve para fazer a coneção com o meu banco de dados.

    Comment by Igor — Maio 23, 2007 #

  12. Resolvido... coloquei o código em um post... basta visualizar, copiar e colar.

    Abraços

    Comment by silici0 — Maio 23, 2007 #

  13. ótimo tutorial do nosso amigo rafael,
    comigo aconteceu a mesma coisa com o pessoal ai
    porém segue algumas correções bem simples

    na inserção do jquery:

    substitua xsrc= por src=

    depois no buscacidade.php
    acerte os nomes do select, de estado para listEstado, como no documento html.
    outra,

    $vai=crossUrlDecode($ok['municipio']);
    esas funcao nao existe
    seria $vai=urldecode(..)

    Comment by Reflect — Setembro 5, 2007 #

  14. Eu substitui o $vai=crossUrlDecode($ok['municipio']);

    Por
    $vai=utf8_encode($ok['municipio']);

    No banco de dados eu importei o sql com utf8, ai ele fica com os acentos correto e sem caracteres especial.

    Comment by Newerton — Setembro 8, 2007 #

  15. Consegui, fazer retornar as cidades, so que ela chega tudo numa linha so e não consgiso selecionar

    alguma sugestão?

    Comment by tchopa — Setembro 11, 2007 #

  16. Sim, sugestão para seu problema tchopa, o retorno deve vir cada opção dentro de um option.

    Sendo

    HTML:
    1. <option>$variavel </option>

    Abraços

    Comment by silici0 — Setembro 11, 2007 #

  17. [...] Silici0 :: Blog » Populando combobox com JQuery ( Ajax ) (tags: jQuery combo javascript ajax) [...]

    Pingback by links for 2007-10-02 — Outubro 2, 2007 #

  18. Desculpe cara mais esse codigo que tu postou está assim mal explicado!!
    Ou vc posta o codigo correto ou não posta.
    flww

    Comment by ...... — Outubro 8, 2007 #

  19. Caro amigo que não quer se identificar... o código mau postado serviu para ajudar muita gente, como eu não gosto da idéia de dar nada pronto, copiar e colar sux, a idéia foi deixar erros para que as pessoas pesquisem na internet e arrumem, assim aprendendo o funcionamento e como fazer.

    Se você olhar mesmo os comentários o pessoal colocou alguns erros ae.

    Ainda assim, eu coloquei um dos arquivo para download completo.

    Abraços

    Comment by silici0 — Outubro 8, 2007 #

  20. Ai pessoal...eu tive o mesmo problema do tchopa.....Consegui fazer retornar as cidades, so que ela chega tudo numa linha so e não consgiso selecionar, então.....

    como é o script para fazer com que os dados venham em linhas separadas lembrando que eu coloquei nesse tipo

    mas não funcionou.......
    alguma sugestão?

    Comment by ncmr — Outubro 20, 2007 #

  21. Ja foi respondido o problema esta no seu retorno.

    Preste atenção de como se encaixa no HTML retornado na TAG HTML, veja o codigo e nao o resultado 'visual'.

    Abraços

    Comment by silici0 — Outubro 20, 2007 #

  22. and then i came out, mommy move me down sout. Andreas Tennyson.

    Comment by Andreas Tennyson — Outubro 21, 2007 #

  23. Caro SiliciO, já tentei de vária maneiras melhorar o retorno dos dados...porém não houve nenhum resultado.... continua retornando as cidades numa linha...como seria o html para que os dados venham do banco de dados em um select....e com value incluido....Valeu....

    Comment by ncmr — Outubro 21, 2007 #

  24. Valor 1
    Valor 2
    Valor 3

    ....preciso criar um tipo

    $sql = mysql_query("SELECT aluno_id, aluno_nome FROM alunos ORDER BY aluno_nome"); ?>

    ">

    alguma sugestão?

    Comment by ncmr — Outubro 21, 2007 #

  25. Bom pensando na TAG HTML do

    HTML:
    1. <.select name="x">
    2. <.option value="1">Valor 1<./option>
    3. <.option value="2">Valor 2<./option>
    4. <.option value="3">Valor 3<./option>
    5. <./select>

    Pensando o que temos na tela é

    HTML:
    1. <.select name="x">
    2.  
    3. <./select>

    Então o retorno será o conteúdo será algo desse genero depois de pronto:

    HTML:
    1. <.option value="1">Valor 1<./option>
    2. <.option value="2">Valor 2<./option>
    3. <.option value="3">Valor 3<./option>

    No caso do PHP basta dentro do while concatenar um option por cada resultado como no abaixo:

    PHP:
    1. while ($x as $a){
    2. echo ' '. $a . '';
    3. $contador++;
    4. }

    Espero que tenha esclarecido a idéia de como fazer esse retorno...

    Abraços

    Comment by silici0 — Outubro 21, 2007 #

  26. ainda to tentando entender esse mecanismo....bem gostaria do por aqui o meu script....mas não sai nada.....Claro que tirei as tas

    $res=mysql_query('SELECT * FROM cidades WHERE uf = \''.$_POST['estado'].'\'');

    $cont=0;

    while($ok=mysql_fetch_array($res)){

    $vai=crossUrlDecode($ok['municipio']);

    echo $vai['municipio']; ?>

    $cont++;

    }

    }else{

    echo 'Erro no envio dos dados';

    }

    Comment by ncmr — Outubro 21, 2007 #

  27. $res=mysql_query('SELECT * FROM cidades WHERE uf = \''.$_POST['estado'].'\'');

    $cont=0;

    while($ok=mysql_fetch_array($res)){

    $vai=crossUrlDecode($ok['municipio']);

    echo $vai['municipio'];

    $cont++;

    }

    }else{

    echo 'Erro no envio dos dados';

    }

    Comment by ncmr — Outubro 21, 2007 #

  28. nesse caso a modificacao seria

    while($x as $ok=mysql_fetch_array($res)){

    $vai=crossUrlDecode($ok['municipio']);

    echo ''.$vai.'';

    $cont++;

    Comment by ncmr — Outubro 21, 2007 #

  29. Me adiciona no msn. Ainda falta diversos conceitos de programação para você, pelo msn te explico. Valeuz

    rafcunha@terra.com.br

    Comment by silici0 — Outubro 21, 2007 #

  30. Ae.....Desculpe cara mais esse codigo que tu postou está assim mal explicado!!
    Ou vc posta o codigo correto ou não posta.
    flww.....

    Concordo com o xxxx....posta o script completo....ou então.....não posta.....noob! :-(

    Comment by xxxx — Outubro 22, 2007 #

  31. Vou responder a altura para que não haja mais esse tipo de 'esculacho' anonimo, se você tem algo a criticar e ainda demonstrar sua incapacidade de entendimento de um script em linguagem simplificado por favor, deixe seu nome.
    Para que eu possa pelo menos saber quem é você.

    O escript esta a altura daqueles que entendem de JavaScript, PHP e entende fundamentos do AJAX.

    Foi retirado do script partes do código afim de que aqueles que o lêem entendam, não acredito que a cópia e colagem do mesmo vá ajudar ninguem, o propósito é conheçer.

    Me recuso a dar o peixe, prefiro ensinar a pescar.

    Meu msn e email está livre para retirar dúvidas.

    msn: rafcunha@terra.com.br
    e-mail : silici0@gmail.com

    Abraços

    Comment by silici0 — Outubro 22, 2007 #

  32. Estou com o mesmo problema do tchopa e do nomr
    cara naum consigo selecionar nenhuma cidade

    meu código está assim

    while($ok = mysql_fetch_array($res)){
    $vai = urldecode($ok['municipio']);
    echo("". $vai . " ");
    $cont++;
    }

    Comment by m4rk0 — Novembro 11, 2007 #

  33. Me desculpem pessoal, mas vocês não entenderam nada sobre o funcionamento do ajax e pareçem ter problemas de como as tags HTML funcionam, por favor, antes de utilizar ajax, entender esses itens, procurar uma pouco mais sobre funcionamento do JQuery.

    echo '<.option>'.$vai.'<./option>';

    Abraços

    Comment by silici0 — Novembro 12, 2007 #

  34. Boa Tarde,

    Primeiramente parabéns pelo post, estou começando a estudar o Jquery e fiquei impressionado com tudo o pode ser feito.

    Aproveitando, o que você usou para colocar códigos javascript e php coloridos??

    Agradeço,

    Atenciosamente,

    Hebert

    Comment by Hebertphp — Novembro 19, 2007 #

  35. Olá,

    show tudo que li, pena que não uso PHP, senão já estaria feito... Estou tentando colocar tudo que está acima em ASP, preciso fazer exatamente o que é proposto acima, porém em ASP, se alguém tiver alguma dica, falta apenas a parte da página buscadados.php

    Obrigado

    Comment by Valdir — Novembro 23, 2007 #

  36. maneiro mas naum funciona

    Comment by Denis — Novembro 30, 2007 #

  37. Muito bom e funciona perfeito. Utilizo php e estou iniciando no jquery, conhecendo muito pouco de js, porém não tive nenhuma dificuldade para fazer o exemplo, obviamente com algumas alterações necessárias.
    Parabéns e seu post foi muito útil para mim. :-)

    Comment by coyote — Dezembro 18, 2007 #

  38. Oi, estou de volta.

    Como faço no caso de edição ?
    Tipo cadastrei um user via mysql usando o script para estado e cidade. Mas ao editar o user, como fazer para aparecer a cidade ?
    Eu pego o campo cidade_id na tabela de usuário e relaciono a tabela de cidade, nela pego o id do estado e consigo marcar o estado no combobox, mas a cidade obviamente não aparece. Como fazer ?

    Abs

    Comment by Coyote — Janeiro 4, 2008 #

  39. Tenho uma dúvida.
    fiz um teste no script da seguinte forma :
    escoli um estado e depois uma cidade, mudei de pagina e cliquei no voltar do navegador e tentei escolher a mesmo estado, mas o script não roda. so volta a funcionar se escolher outro estado. sabe me informar a causa deste bug no script.

    muito bom o script,
    abçs

    Comment by Wilton — Janeiro 8, 2008 #

  40. Não é bug não, é que quando vc muda de página e volta ele não faz a requição, pois a contrução das cidades e requisição do mesmo esta no click do estado, sem click sem nada.

    Valeu

    Comment by silici0 — Janeiro 9, 2008 #

  41. Me desculpe..nunca v um tutorial tão esquisito meu caro.nao leve a mal.isso aqui e coisa seria..gastei uma hora tentando entender isso ai mais cheguei a conclusao de que vc fez foi copiar isso e tentou colocar aqui como s fosse su

    Comment by diego — Janeiro 13, 2008 #

  42. Parabéns pelo tuto. add nos favoritos =]

    Comment by Helton Marinho — Janeiro 28, 2008 #

  43. Cara, realmente o tutorial induz a pessoa imaginar que está tudo pronto, precisando de apenas alguns ajustes... É como se você não tivesse dado a vara pra pescar, mas sim a linha, o anzol e bambu, pra o cara montar a vara de pescar.

    De qualquer forma, valeu a iniciativa. É errando que se aprende. =)

    Comment by Vinicius Cruz — Fevereiro 19, 2008 #

  44. Muito bom o script me ajudou bastante estou enviando minha versão em java:

    [javascritp]$().ready(function() {

    $("select[@name=listEstados]").change(function(){
    $('select[@name=listCidades]').html('Procurando :::::::');
    $.post('cidade.jsp',
    { estado : $(this).val() },
    function(resposta){

    $('select[@name=listCidades]').html(resposta);
    }

    );
    });
    });

    [/javascritp]

    // combo estado

    -- Selecione Estado --

    ">

    // Combo cidade

    -- Primeiro selecione o estado --

    // arquivo cidade

    ">

    Comment by Chaia — Fevereiro 20, 2008 #

  45. Rafael,

    estou tentando implentar seu codigo, porem tenho um banco de dados com estado e cidades eestou interligando os atraves de chave estrangeira
    mais se eu passo o id da uf ele naum mostra as cidades alias ele nem faz a consulta no banco. Ele simplesmente da erro

    Comment by Aline — Abril 24, 2008 #

  46. no listEstados coloque os id dos estados no value, e troque a consulta para select * from cidade where id_estado = ' ';

    Abraços

    Comment by silici0 — Abril 24, 2008 #

  47. O problema é que ele não está conseguindo recuperar o valor do listEstados

    Comment by Aline — Abril 24, 2008 #

  48. Dei um alert para mostrar as cidades e elas paraceream , apenas no combo q elas não aparecem

    Comment by Aline — Abril 24, 2008 #

  49. Elas aparecem como ?
    Dentro do ?
    Não esqueça das tags html ... ;P

    Abraços

    Comment by silici0 — Abril 24, 2008 #

  50. Tem alguns erros que se precisam de ajuste como já foi dito várias vezes, o artigo meio que apontou o caminho, mas sem dúvida a galera dos comentários foi que me ajudou a resolver o mesmo.

    Achei que o cara tinha errado várias coisas por noobice, mas se foi realmente proposital foi muita sacanagem, eu levei uns 15 min ajeitando isso, mas alguém que não saca de javascript vai bater muita cabeça daquela forma estressante de não saber aonde ta o erro nem saber como resolver, afinal de contas como q um cara desses ai vai saber q crossUrlDecode nao existe e ainda mais pelo q substituir.

    A respeito de algumas duvidas que a galera ainda tem, na pagina principal voce so precisa tirar o 'x'de "xsrc="jquery.js", la no php q faz a busca so precisa modificar algumas coisas no final, mas eu vou colocar o meu codigo inteiro como ficou, lembrando que eu estou usando uma base mssql ao inves de mysql, entao mude de acordo.

    '.$nome.'';
    $cont++;
    }
    }else{
    echo 'Erro no envio dos dados';
    }
    ?>

    Aqui ta setando como valor o codigo das cidades que tem no banco, alem de mostrar as mesmas na listagem.

    MSN: kok_warlock@hotmail.com

    Comment by Goethe — Abril 25, 2008 #

  51. Nao esta aparecendo o codigo, acho que por alguma protecao contra inject, entao vou colocar as linhas que mudaram.

    // ao inves de crossurldecode ...
    //$vai=crossUrlDecode($ok['Nome']);
    $cod=utf8_encode($ok['SeqMunicipio']);
    $nome=utf8_encode($ok['Nome']);
    // Coloca os dados em lista ao invés de uma linha so
    echo ''.$nome.'';

    Tb esta dessa forma para setar como valor o codigo de cada cidade e mostrar o nome na listagem.

    Comment by Goethe — Abril 25, 2008 #

  52. Tudo pode e deve ser resolvido utilizando o manual do Jquery e PHP.

    Não adianta querer aprender a pescar sem sabe utilizar a vara antes... é um tutorial para estudos, aprender.

    docs.jquery.com
    php.net/docs.php

    Abraços...

    Comment by silici0 — Abril 25, 2008 #

  53. Cara....desculpe.....estou tentando implementar este sistema em meu site.....mas ateh agora não consegui.....se possivel...entre cm contato por email...para que possamos trocar informações.....Por enquanto é só...abraços e parabéns pelo site.......muito sucesso!

    http://www.saopauloimobiliarias.com

    Comment by Alfredo Pn — Maio 3, 2008 #

  54. Cara olha só, estou tendo um problema na chamada do arquivo, no caso o buscacidade.php. Estou usando o zend framework e não consigo por a url certa para chamada, ja tentei chamar controller e action, mas nada da certo...

    Alguma sugestão?

    Abraço

    Comment by Daniel — Agosto 1, 2008 #

  55. Tentou colocar o dominio completo ?!
    Tipo http://www.rafaelcunha.com/ajax/buscacidade.php

    Mas por base é o seguinte, imagina que vc esta executando o arquivo em rafaelcunha.com/sistema/teste/ e você quer chamar o arquivo rafaelcunha.com/sistema/teste/ajax/1/busca.php entao você deve colocar somente ajax/1/busca.php

    Entendeu?

    Abraços

    Comment by silici0 — Agosto 1, 2008 #

  56. Fala amigo,
    Parabéns pelo tutorial, achei bem interessante, te mandei um email te fazendo uma pergunta...

    Estou querendo mudar a parte buscacidade.php
    esotu tentando adaptar ao meu sistema e não consigo, como posso fazer???

    No exemplo você ja deixa os dados do estado especifico e ele busca somente cidades no bd né?

    eu preciso que ele consulte o bd nas duas partes, na hora que eu abrir a pagina, ele ira carregar o primeiro select com dados de uma tabela, e quando escolher esse dado, ira carregar a segunda...
    mas não entendi a primeira linha...
    não entendo como posso substituir...

    Pode me dar uma ajuda??

    valeu, Abraço

    Comment by Plinio — Agosto 8, 2008 #

  57. Bom Plinio, primeiro você precisa enviar os dados que quer em :
    #{ estado : $(this).val() },

    Depois você precisa pegar via POST e montar a Query, nao tem segredo.

    Abraços

    Comment by silici0 — Agosto 10, 2008 #

  58. Muito grato pela explicação e pelo exemplo, muito bom mesmo me ajudou muito em meu projeto!

    Agradeço Muito...

    Abraços..

    Comment by Rodrigo Cunha — Agosto 29, 2008 #

  59. Ae Kra....
    valew pelo código...muito bom!!!
    consegui fazer....mas!!!
    gostaria de add um terceiro combo...
    neste caso...como se fosse bairro....
    eu dupliquei o Script do inicio....fiz outra pagina php fazendo a busca....mas ele printa o ultimo registro independente da cidade escolhida....

    o que pode ser?!

    valew!!!

    Comment by Rodrigo — Setembro 12, 2008 #

  60. Boa Tarde! Chaia

    Tem como vc me enviar o codigo Java???

    para o e-mail: alexsandro.pereira@gmail.com

    Se puder eu agradeço mesmo.

    abraço.

    Comment by Alexsandro — Setembro 22, 2008 #

  61. Olá Rafael,
    Estive dando uma olhada esse seu artigo. Muito bom mesmo.

    Gostaria de saber, se pode enviar todos os arquivos desse exemplo para meu email.

    Desde já obrigado pela atenção.

    Comment by Juscelino Barão — Setembro 24, 2008 #

  62. Bom... vou responder a todos que ficaram sem resposta.

    Rodrigo espero que tenha conseguido, pois nem idéia do problema...

    Alexsandro desculpe-me mas eu não programo em Java, somente JavaScript...

    Juscelino Barão desculpe-me mas existem outros códigos postos aqui que lhe podem ajudar, por isso não envio os códigos, o manual tb sempre é de boa ajuda.
    Php : php.net/manual
    JQuery : docs.jquery.com

    Abraços e boa sorte a todos

    Comment by silici0 — Setembro 24, 2008 #

  63. Parabens pelo Post, muito legal ;)

    aqui ajuda pra galera que usar o script em ASP

    apenas um exemplo de como fazer o retorno pra preencher o select.

    Nenhum" )
    Else
    Do While Not Rs.EOF
    Response.Write (""& server.HTMLEncode(Rs("campo2")) &"" )
    Rs.Movenext
    Loop
    End If

    'Fecha sua conexao

    %>

    Comment by wdev — Outubro 3, 2008 #

  64. Cod = Request.Form("codigo")

    'cria sua conexao aqui, estou usando o nome de Conn

    SQL = " SELECT campo1, campo2 FROM tabela WHERE campo1 = " & Cod

    Set Rs= Conn.Execute(SQL)

    If Rs.EOF Then
    'se nao encontrar registros exibe nenhum
    Response.Write ("Nenhum" )
    Else
    Do While Not Rs.EOF
    Response.Write (""& server.HTMLEncode(Rs("campo2")) &"" )
    Rs.Movenext
    Loop
    End If

    'Fecha sua conexao

    Comment by wdev — Outubro 3, 2008 #

  65. Obrigado pela contribuição...

    Abraços

    Comment by silici0 — Outubro 3, 2008 #

  66. [...] http://www.rafaelcunha.com/2007/05/10/populando-combobox-com-jquery-ajax/ Tags:ajax, combo, jquery, post [...]

    Pingback by Athanazio » popular um combo com jquery — Novembro 10, 2008 #

  67. ok.....wdev, seu post sobre como fazer em asp foi legal, mas nao esta funcionando, quando seleciono e traz o municipio em branco.......

    Comment by Anonymous — Novembro 20, 2008 #

Leave a comment

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>


 

 Assine o feed