Estou tentando fazer um combo box onde o usuario informa primeiro o estado, informado o estado, no box seguinte (cidade) são carregadas apenas as cidades desse estado, e depois de informar a cidade, são listados no box seguinte apenas os bairros dessa cidade.
Peguei um tutorial e tentei adaptar ele a minha realidade. Mas o código não está funcionando.
endereço do tutorial http://www.gilbertoa...com-jquery-php/
vejam como está:
formulario:
<select name="estados" id="estados" onchange="buscacidades('xmlcidades.php','cidades');">
<option selected="selected" value="nada">-- Estados --</option>
<option value="PB">PARAÍBA</option>
<option value="AL">ALAGOAS</option>
<option value="CE">CEARÁ</option>
<option value="PE">PERNAMBUCO</option>
<option value="RN">RIO GRANDE DO NORTE</option>
<option value="SE">SERGIPE</option>
</select>
<br />
<select name="cidades" id="cidades" onchange="alert(this.value);" >
<option>-- Escolha um Estado --</option>
</select>
<br />
<select name="bairros" id="bairros">
<option>-- Escolha uma Estado --</option>
</select>
o código do java script:
jQuery(document).ready
(
function()
{
comboDinamico("estados", "cidades", "bairros");
}
);
comboDinamico = function(estados, cidades, bairros) {
var estado = document.getElementById(estados);
var cidade = document.getElementById(cidades);
var bairro = document.getElementById(bairros);
$(estados).load('localizacoes.php?tipo=estado');
$(estados).change(
function() {
if($(this).val() == 0) {
alert('Você precisa informar o ESTADO!');
$(this).focus();
} else {
$(cidades).load('localizacoes.php?tipo=cidade&estado=' + $(this).val());
}
}
);
$(cidades).change(
function() {
if($(this).val() == 0) {
alert('Você precisa informar a CIDADE!');
$(this).focus();
} else {
$(bairros).load('localizacoes.php?tipo=bairro&cidade=' + escape($(this).val()));
}
}
);
$(bairros).change(
function() {
if($(this).val() == 0) {
alert('Você precisa informar o BAIRRO!');
$(this).focus();
} else {
return true;
}
}
);
}
e por fim o código que monta os combobox
switch($_GET['tipo'])
{
case 'estado' :
$sql = mysql_query("SELECT * FROM estados_federacao")or die("Query invalida: " . mysql_error());
while ($row = mysql_fetch_array($result)) {
$option = $row["uf"];
$string = $row["estado"];
echo "<option value=\"$option\">$string</option>";
}
break;
case 'cidade' :
$sql = mysql_query("SELECT * FROM municipios WHERE uf = '%uf'", $_GET['estado']);
$option = $row["nome_municipio"];
$string = $row["nome_municipio"];
echo "<option value=\"$option\">$string</option>";
break;
case 'bairro' :
$sql = sprintf("SELECT * FROM municipios_bairros WHERE cidade = 'municipio'", ($_GET['cidade']));
$option = $row["bairro_id"];
$string = $row["bairro"];
echo "<option value=\"$option\">$string</option>";
break;
}
desde já agradeço pela ajuda