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.
Pergunta
Gnuclear
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.gilbertoalbino.com/criar-combo-...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 comboboxswitch($_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
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.