Jump to content
Sign in to follow this  
diegouploads

jQuery Estado não retorna Cidade

Recommended Posts

Tem uns 2 dias que venho batendo cabeça com os campos Estado e Cidade.. pois vi inúmeras aulas e maneiras de fazer, porém nenhuma me retorna a cidade no campo dela. Tenho meus arquivos em pastas divididas, penso que pode ser isso, outro problema pode ser que to utilizando mysqli, já que o mysql não esta mais aceito, mas acredito estar tudo correto no Mysqli. O problema é que quando o codigo javascript roda não retorna a cidade.

segue codigo html formulario

 

<select id="estados" name="estados">
<option value="" select="select">Escolha a estado</option>
<?php
$conectar=new DB;
$conexao=$conectar->conectar();
$sql = mysqli_query($conexao, "SELECT * FROM estados");
while($row=mysqli_fetch_array($sql)){
$id=$row['cod_estados'];
$uf=$row['sigla'];
$nome=$row['nome'];
echo '<option value="'.$row['cod_estados'].'">'.$row['sigla'].'</option>';
}
?>
</select>
<select name="cidades" id="cidades">
<option value="">-- Escolha um Estado --</option>
</select>
segue codigo javascript
//JavaScript Document
$(function(){
$("#estados").change(function(){
var id = $(this).val();
$.ajax({
type:"POST",
url:"views/exibe_cidade.php?id="+id,
dataType:"text",
sucess: function(res){
alert("passei aqui");
$("#cidades").children(".cidades").remove();
$("#cidades").append(res);
}
});
});
});
segue código da pagina exibe_cidade
<?php
include("header.php");
include("class/DBclass.class.php");
$conectar=new DB;
$conexao=$conectar->conectar();
$id = $_GET['id'];
$sql = mysqli_query($conexao, "SELECT * FROM cidades WHERE estados_cod_estados='$id' ORDER BY nome");
while($row=mysqli_fetch_array($sql)){
$nome=$row['nome'];
$id=$row['cod_cidades'];
echo '<option value="'.$id.'" class="cidade">'.$nome.'</option>';
}
?>

 

Share this post


Link to post
Share on other sites

Me diz ai, retorna algum erro ? Vê ai e me diz. Enquanto você analisa, vê essa linha aqui: url:"views/exibe_cidade.php?id="+id. Creio que a concatenação está errada, não precisa fechar aspas ?

Share this post


Link to post
Share on other sites

Pelo que percebo aqui debugando, parece que o javascript não consegue chamar o exibe_cidade.php, então não recebe o id assim não faz o query.. por isso não retorna, não sei se na função Ajax esta passando corretamente..... mas na concatenação esta tudo ok.

//JavaScript Document
$(document).ready(function (){
$("#estados").change(function(){
var id = $(this).val();
$.ajax({
type: "POST",
url:"views/exibe_cidade.php?id="+id,
dataType:"text",
sucess: function(res){
$("#cidades").children(".cidades").remove();
$("#cidades").append(res);
},
error: function() {
console.log("Ocorreu um erro ao carregar os dados.");
}
});
});
});

arquivo exibe_cidade.php


<?php

include("../classes/DB.class.php");


$conectar=new DB;
$conexao=$conectar->conectar();


$id = $_GET['id'];
$sql = mysqli_query($conexao, "SELECT * FROM cidades WHERE estados_cod_estados='$id' ORDER BY nome");
while($row=mysqli_fetch_array($sql)){
$nome=$row['nome'];
$id=$row['cod_cidades'];


echo '<option value="'.$id.'" class="cidade">'.$nome.'</option>';

}
?>

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Similar Content

    • By fabioamorais
      Ola pessoal, sou novo aqui no fórum e também no mundo da programação. 

      Estou criando um sistema de cadastro de clientes em PHP 7 e mysql
      para meu serviço para fins de organização, tenho ja pronto o sistema de cadastro e edição do cliente, tenho login por usuário e senha.
      preciso colocar nesse sistema uma forma que registre a ação e o usuário que fez a ação quando houver uma alteração no cadastro.
      exemplo;
      O usuario (jose) alterou o status de analise para concluído .
      o usuario (pedro) alterou a localização de mesa para armario.
      e que fosse exibido como um tipo de histórico de eventos no próprio cadastro do cliente.
      e nesse campo se ainda tiver como add cometários.
      Usuario (jose): Precisa entrar em contato com o cliente francisco. 
      Usuario (pedro): cliente foi avisado e está sabendo.
       
      quem souber uma forma de fazer isso, ficaria muito grato.

    • By Webster Moitinho
      Implementei em meu site o JQuery Autocomplete e consegui fazer ele funcionar na boa. Porém não estou conseguindo fazer com que, quando o usuário pesquisar pelo termo, e selecionar na lista, ele seja direcionado para a respectiva página.
       
      Meu código está assim:
      <div id="pesquisa"> <form action="index.php?id=<?php echo $target; ?>&tp=smp" method="post" name="autocomplete" target="_self"> <strong>Pesquisa:</strong> <input id="autocomplete" title="Digite algo" placeholder="&nbsp;&nbsp;&nbsp;&nbsp;Digite algo"> <button id="button-icon">Pesquise</button> </form> </div><!--pesquisa--> <script src="libraries/jquery.js"></script> <script src="libraries/jquery-ui.js"></script> <script> <?php $sql = "SELECT pags.id, pags.title, pags.keywords, pags.tema FROM pags WHERE vendavel = 'S' ORDER BY pags.id"; $resultado = $PDO->query( $sql ); $rows = $resultado->fetchAll(PDO::FETCH_ASSOC); ?> var availableTags = [ <?php foreach ($rows as $key => $linha) { $target = $linha['id']; echo '"' . $linha['title'] .' | ' . $linha['keywords'] . '",'; } ?> "" ]; $( "#autocomplete" ).autocomplete({ source: availableTags }); $( "#button" ).button(); $( "#button-icon" ).button({ icon: "ui-icon-gear", showLabel: false }); </script>  
    • By skti
      Boa tarde, me chamo Augusto e gostaria de saber como preencher o campo automaticamente seguindo o formato descrito no título.. por exemplo, ao digitar os 3 primeiros números do cpf, o '.' (ponto) ser preenchido automaticamente. Sou iniciante e o mais perto que cheguei foi criar um input que, quando são digitados 3 caracteres, apareça um '-' (hífen), ficando xxx- por exemplo, porém, de maneira incorreta pois ao continuar digitando o texto ficava xxxxxx- ao inves de xxx-xxx e assim por diante. Agradeço quem puder ajudar! :)
    • By s3c0
      Boa tarde galera,
       
      estou precisando que a barra superior acompanhe o Scroll. Está funcionando de acordo com o propósito, porém se der um Refresh no meio da página por exemplo, a barra superior não aparece.
       
      $("document").ready(function($){ $(window).scroll(function () { if ($(this).scrollTop() > 68) { $('.topo').fadeIn(); $('.topo').css("position","fixed") $('.topo').css("z-index","2") $('.topo').css("margin-top","-68px") } else { $('.topo').css("position","absolute") $('.topo').css("z-index","1") $('.topo').css("z-index","2") $('.topo').css("margin-top","0px") } }); });  
      Alguém possui alguma ideia do que está errado?
    • By Thomeny
      Olá pessoal, sou novo no mundo da programação e banco de dados, quer dizer passei vários anos parado em outra área e agora resolvi voltar.
       
      Enfim estou precisando fazer o seguinte:
       
      Tenho dois campos que usa um select (irei colocar logo abaixo) para ambos.
      Esse select traz o resultado iguais para os dois, porém o cliente precisa fazer o seguinte:
       
      Para combobox 1 ao selecionar paciente, esse paciente não apareça no combobox dois porque já foi selecionado.
       
      Como procedo, se puderem ser claros, abaixo segue o select usado em ambos pra trazer a lista de pacientes...
       
      Select Distinct
        PC.PES_COD,
        PC.PES_NOME,
        PF.NASCIMENTO,
        PF.PFI_MAE,
        Concat(PC.PES_COD, ' - ', LTrim(RTrim(PC.PES_NOME)), ' - ', PF.NASCIMENTO, ' - ', LTrim(RTrim(PF.PFI_MAE))) As NOME
      From
        GER_PESSOA PC
        Inner Join
        GER_PESSOA_FISICA PF On (PC.PES_COD = PF.PES_COD)
      Order By
        PC.PES_NOME
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.