Olá pessoal, encontrei esse script na net....modifiquei algumas coisas.... porém os dados deverão voltar na forma de um select......e ai tudo bem....só que não está funfando...então.....se alguém entender ou achar o problema...pode nos ajudar muito......
Primeiro vamos ter uma tabela com todas as cidades brasileiras - pode pegar o sql nesse endereço http://felipesantiag...des/cidades.sql
Segundo você precisa fazer o download do framework do JQuery nesse link http://jquery.com/
Deve colocar o arquivo jquery.js no servidor...
Depois de criar a tabela, veja na íntegra o script para criar o form....
<HTML>
<HEAD>
<TITLE></TITLE>
<META NAME="GENERATOR" Content="Microsoft Visual Studio">
<META HTTP-EQUIV="Content-Type" content="text/html; charset=UTF-8">
</HEAD>
<BODY>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$().ready(function(resposta) {
$("select[@name=listEstados]").change(function(){
$('select[@name=listCidades]').html('<option value="sda">Procurando :::::::</option>');
$.post('buscacidade.php',
{ estados : $(this).val() },
function(resposta){
alert(resposta);
$('select[@name=listCidades]').html(resposta);
}
);
});
});
</script>
</head>
<body>
<div align="center">
<h1 style="border:dotted #00FFFF;"> Populando ComboBox com AJAX ( Pesquisa de estados ) </h1>
<h2 style="color:#FF0000"> Utilizando framework JQuery </h2>
</div>
<form name="frmAjax">
<label for="listEstados"> Estado: </label>
<select name="listEstados">
<option value="0"> Selecione o estado >></option>
<option value="ac">
Acre</option>
<option value="al">
Alagoas</option>
<option value="ap">
Amapa</option>
<option value="am">
Amazonas</option>
<option value="ba">
Bahia</option>
<option value="ce">
Ceara</option>
<option value="df">
Distrito Federal</option>
<option value="es">
Espirito Santo</option>
<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>
</select>
<br><br>
<label for="listCidades">Cidade: </label>
<select name="listCidades">
<option id="opcoes" value="0">-- Primeiro selecione o estado --</option>
</select>
</form>
</BODY>
</HTML>
.....e também o arquivo buscacidade.php .....
<HTML>
<HEAD>
<TITLE>Novo Documento</TITLE>
</HEAD>
<BODY>
<?
function crossUrlDecode($source) {
$decodedStr = '';
$pos = 0;
$len = strlen($source);
while ($pos < $len) {
$charAt = substr ($source, $pos, 1);
if ($charAt == '?') {
$char2 = substr($source, $pos, 2);
$decodedStr .= htmlentities(utf8_decode($char2),ENT_QUOTES,'ISO-8859-1');
$pos += 2;
}
elseif(ord($charAt) > 127) {
$decodedStr .= "&#".ord($charAt).";";
$pos++;
}
elseif($charAt == '%') {
$pos++;
$hex2 = substr($source, $pos, 2);
$dechex = chr(hexdec($hex2));
if($dechex == '?') {
$pos += 2;
if(substr($source, $pos, 1) == '%') {
$pos++;
$char2a = chr(hexdec(substr($source, $pos, 2)));
$decodedStr .= htmlentities(utf8_decode($dechex . $char2a),ENT_QUOTES,'ISO-8859-1');
}
else {
$decodedStr .= htmlentities(utf8_decode($dechex));
}
}
else {
$decodedStr .= $dechex;
}
$pos += 2;
}
else {
$decodedStr .= $charAt;
$pos++;
}
}
return $decodedStr;
}
if (isset($_POST['estados'])){
$conexao = mysql_connect("*******","*****","*******")or die("Erro ao Tenta Conectar com o Servidor de Mysql<br>Erro:".mysql_error());;
mysql_select_db("empregos", $conexao) or die("Não foi possivel selecionar a base de dados<br>Erro:".mysql_error());
$res=mysql_query('SELECT * FROM cidades WHERE uf = \''.$_POST['estados'].'\'');
$cont=0;
while($ok=mysql_fetch_array($res)){
$vai=crossUrlDecode($ok['municipio']);
echo ("<option value = ".$cont.">".$vai." <br /></option>");
$cont++;
}
}else{
echo 'Erro no envio dos dados';
}
?>
</BODY>
</HTML>
então.....você pode colocá-lo pra rodar ai.....e veja o que acontece......
ALGUÉM SABE COMO CORRIGIR OU ONDE ESTÁ O PROBLEMA......
acho que deve ser echo ("<option value = ".$cont.">".$vai." <br /></option>");
no alert, aparece todas as cidades de acordo com o uf e um value diferente para cada cidade.....porém quando você clicar em ok (do alert)....não funfa!....
Se alguém souber......ajuda nós aí....
Para ver esse script funcionando corretamente.....pode acessar http://www.rafaelcun.../testes/estado/
porém não sei como está configurado o arquivo buscacidade.php
obs: coloquei um * (asterisco) aqui na função de conexão apenas para proteger os meus dados....hehehehe!
Bem, esse script eu encontrei nesse link......http://www.rafaelcunha.com/2007/05/10/populando-combobox-com-jquery-ajax/#comment-4372
então é isso aí....
Populando Combobox Com Ajax ( Pesquisa De Estados )
Started By
Serafin
, 22/10/2007, 12:37
Nenhuma resposta neste tópico
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)