|
||||||||||
|
|
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:
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:
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:
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:
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: JAVASCRIPT:
Apos a Resposta basta eu mudar todo a listagem de cidade que eu recebi como resposta: JAVASCRIPT:
O arquivo buscacidade.php se pareçe com isso aqui : PHP:
O código por completo, como ficou ? JAVASCRIPT:
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... 92 Comments »RSS feed for comments on this post. TrackBack URI Leave a comment |
![]()
Powered by WordPress. Theme designed by Lunarpages Web Hosting. |
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 #
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 #
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 #
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 #
Novamente deu erro. Só que agora deu
Fatal error: Cannot redeclare crossurldecode() na linha function crossUrlDecode($source) {
Comment by Julian Silva — Maio 23, 2007 #
É 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 #
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 #
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 #
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 #
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 #
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 #
Resolvido... coloquei o código em um post... basta visualizar, copiar e colar.
Abraços
Comment by silici0 — Maio 23, 2007 #
ó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 #
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 #
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 #
Sim, sugestão para seu problema tchopa, o retorno deve vir cada opção dentro de um option.
Sendo
Abraços
Comment by silici0 — Setembro 11, 2007 #
[...] Silici0 :: Blog » Populando combobox com JQuery ( Ajax ) (tags: jQuery combo javascript ajax) [...]
Pingback by links for 2007-10-02 — Outubro 2, 2007 #
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 #
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 #
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 #
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 #
and then i came out, mommy move me down sout. Andreas Tennyson.
Comment by Andreas Tennyson — Outubro 21, 2007 #
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 #
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 #
Bom pensando na TAG HTML do
Pensando o que temos na tela é
Então o retorno será o conteúdo será algo desse genero depois de pronto:
No caso do PHP basta dentro do while concatenar um option por cada resultado como no abaixo:
Espero que tenha esclarecido a idéia de como fazer esse retorno...
Abraços
Comment by silici0 — Outubro 21, 2007 #
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 #
$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 #
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 #
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 #
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 #
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 #
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 #
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 #
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 #
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 #
maneiro mas naum funciona
Comment by Denis — Novembro 30, 2007 #
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 #
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 #
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 #
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 #
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 #
Parabéns pelo tuto. add nos favoritos =]
Comment by Helton Marinho — Janeiro 28, 2008 #
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 #
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 #
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 #
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 #
O problema é que ele não está conseguindo recuperar o valor do listEstados
Comment by Aline — Abril 24, 2008 #
Dei um alert para mostrar as cidades e elas paraceream , apenas no combo q elas não aparecem
Comment by Aline — Abril 24, 2008 #
Elas aparecem como ?
Dentro do ?
Não esqueça das tags html ... ;P
Abraços
Comment by silici0 — Abril 24, 2008 #
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 #
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 #
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 #
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 #
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 #
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 #
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 #
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 #
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 #
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 #
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 #
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 #
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 #
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 #
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 #
Obrigado pela contribuição...
Abraços
Comment by silici0 — Outubro 3, 2008 #
[...] 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 #
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 #
Rafael parabéns pelo post!!!!!!
Comment by Raffael Guedes — Dezembro 16, 2008 #
O código PHP correto é
if (isset($_POST['estado'])){
$res=mysql_query('SELECT * FROM cidades WHERE uf = \''.$_POST['estado'].'\'');
while ($ok=mysql_fetch_array($res)){
$vai = ''.urldecode($ok['municipio']).'';
echo ''.$vai.'';
}
} else {
echo 'Erro no envio dos dados';
}
E ainda não se deve trocar "estado" por listEstados como foi dito acima, a não ser que se troque também em $_POST['estado'] no arquivo PHP.
Comment by Bruno Rodrigues de Oliveira — Dezembro 19, 2008 #
Rafael, valeu mesmo.
Esse post acabou com 2 dias de muita surra do JQuery.
Vida longa.
Comment by Danilo Oliveira — Janeiro 6, 2009 #
Grande Rafael, seu tuto foi de excelente ajuda!
Já utilizava uns scripts para isso, no entanto sem usar o jquery.
Para ficar 100% a utilização deste tuto, repito aqui a pergunta do Coyote que ficou sem resposta: como fazer no caso da edição para que ja mostre o municipio previamente escolhido? na minha forma antiga chamei a mesma rotina do onchange no onload do body, no entanto não consegui adaptar esta forma para o jquery...
vc possui alguma solução para isto?
mais uma vez, parabéns!
Comment by Mateus — Janeiro 21, 2009 #
Basta você trazer no load da página ambos as combos selecionadas sem trazer montar por JS, montando pelo php,asp ou seja la o que for.
Abraços
Comment by silici0 — Janeiro 21, 2009 #
Muito bom o tutorial ai, mas ficou uma duvida, como faco para quando ele trazer todos as cidades, no topo do combo ficar como o nome --- todos --, pois o usuario pode querer filtar o estado e tambem todas as cidades do estado na consulta.
Comment by maia2009 — Janeiro 22, 2009 #
php:
//para exibir corretamente os carcteres não utf-8
header("Content-Type: text/html; charset=ISO-8859-1");
//conecta com os dados
$conn = mysql_connect('meuip','username','minhasenha');
mysql_select_db('meudb');
if (isset($_POST['estado'])){
$rs=mysql_query('SELECT * FROM cidades WHERE uf = \''.$_POST['estado'].'\'');
$cont=0;
while($row=mysql_fetch_array($rs)){
$val=$row['municipio'];
echo ''.$row['municipio'].'';
$cont++;
}
}else{
echo 'Erro no envio dos dados';
}
?>
Comment by Roberto — Janeiro 27, 2009 #
brother, deu trabalho mas fiz funcionar hehe...
agora como faço pra deixar uma OPTION "todas as cidades" pra todos os estados? caso o visitante nao queira fazer uma busca em todas... agradeço desde já!
Comment by Bruno — Fevereiro 9, 2009 #
digo... caso o visitante QUEIRA fazer uma busca em todos as cidades do estado... obrigado...
Comment by Bruno — Fevereiro 9, 2009 #
Boa tarde Rafael,
Gostei muito do código e é exatamente isso que eu estou precisando...
Meu problema é que não entendo absolutamente NADA de PHP. Meu site é em ASP.
Como faço para adaptar?
Fico no aguardo,
Comment by Eder Pardeiro — Fevereiro 13, 2009 #
Se você não entendeu nada fica dificil, porque so tem 1 código em PHP, o resto é javascript (JQuery)...
E o PHP é somente o resto com o conteúdo de "options" que irão ser as cidades.
abraços
Comment by silici0 — Fevereiro 16, 2009 #
Gostei muito do artigo, parabens pelo seu trabalho !!!
Comment by Edivan — Fevereiro 27, 2009 #
Muito bom esse codigo, porém eu to querendo popular varias combobox. Como posso faze. Exempplo: quando eu selecionar uma cidade gostaria que fosse carregado: cep, rua, bairro.
Abraços
Comment by Hugo — Março 12, 2009 #
Parabéns òtimo codigo.
Vou adiciona-lo no MSN.
Abraços.
Comment by Danilo Pereira — Junho 13, 2009 #
Para quem usar com a nova versão do jQuery esse script não funcionará.
Attribute Filters: Note: In jQuery 1.3 [@attr] style selectors were removed (they were previously deprecated in jQuery 1.2). Simply remove the '@' symbol from your selectors in order to make them work again.
Então é só tirar o @ !
Antes: select[@name=filtro]
Depois: select[name=filtro]
Comment by Wellington — Setembro 30, 2009 #
Parabéns pelo trabalho...a idéia de colocar algumas pegadinhas, realmente foi excelente. Funcionou perfeitamente após os ajustes. Parabéns!
Comment by Mohamed — Outubro 2, 2009 #
Fera, como você deixou erro nesse código. Mas deu pra acertar, e valeu pela ajuda!
Só uma dica: Pegadinha não ajuda quem tá começando...
Comment by Gabriel — Outubro 20, 2009 #
A questão é que o ctrl+c e ctrl+v eu não sou a favor! Então deixei as pegadinhas!!!
Comment by silici0 — Outubro 20, 2009 #
Cara, bem que você podia avisar no post que existiam as tais pegadinhas. pq quem está começando fica achando que o erro pode estar em outros lugares e acaba perdendo um tempão.
Comment by thiago — Novembro 16, 2009 #
Se vc em vez de copiar e colar, ler o manual, garanto que no máximo 30 minutos vai entender e resolver o seu problema.
Abraços
Comment by silici0 — Novembro 16, 2009 #
Cara, você tem razão. mas quem já pode tirar um tempo pra ler o manual, certamente não estaria atrás de um tutorial como esse. mas, parabéns pelo seu site e tutoriais. tenho certeza que você conseguiu ajudar muita gente.
Comment by thiago — Novembro 16, 2009 #
nao funcionou!!
Comment by tiago — Janeiro 22, 2010 #
Oi! Não sou nenhum dos Thiago's acima /\, hehe
É o seguinte. Tenho a sigla do estado salva no $_SESSION e necessito que o script carregue junto com a página, já que ele, quando abre a página, aparece o valor do combo de estado selecionado mas o de cidade aparece como se não tivesse mudado.
Já tentei DE TUDO!
Tentei selecionar um campo e depois o outro, tentei carregar o script antes e depois, procurei na internet algo que eu consiga chamar a função change... Até achei algo, mas nada funcionou..
Eu estaria realmente grato se você me ajudasse.
Obrigado
Comment by Thiago — Fevereiro 8, 2010 #
Depois de MUITOOO tempo procurando algo, finalmente achei...
Como eu suei muito para conseguir, não vou dar de mão beijada... A dica para localizar é o jquery trigger
Um abração
Comment by Thiago — Fevereiro 8, 2010 #
Singulair....
Singulair side effects....
Trackback by Singulair drug. — Fevereiro 22, 2010 #