Ir ao conteúdo

Posts recomendados

Postado

Boa noite

 

Estou tentando popular um input através de uma seleção de um SELECT, porém não estou conseguindo retornar valor.


 

<script>
// AJAX
jQuery(document).ready(function($){
    $('#estado').change(function(){
        var cod_pdv = $(this).val();
        $.ajax({
            url: 'cidades2.php',
            method: 'POST', // Default: GET
            data: { id: cod_pdv }, // ID do usuário que você vai 
            success: function(response) {
                // Em caso de sucesso você vai pegar os dados retornados pelo Ajax e popular seus inputs.
                $('#cod_pdv').val(response.cod_pdv);
            },
            error: function() {
                // Tratar os erros
            }
        });
    });
});
</script>









cidades2



<?php

require_once "Conexao.php";


$estado = $_POST['estado'];

$sql = "SELECT * FROM [teste].[dbo].[pdvs] WHERE [codigo] = '$estado'";
    
    
    try{
        $Conexao    = Conexao::getConnection();
        $query = $Conexao->prepare($sql);
        $query->bindValue(1,$_POST['estado'],PDO::PARAM_STR);
        $query->execute();
        $resultado = $query->fetchAll(PDO::FETCH_ASSOC);
    }catch(PDOException $erro){
        echo "Erro ao selecionar. Tente novamente ou contacte o administrador.";
        echo $erro->getMessage();    
    }    
    foreach($resultado as $res)
    {
        $valores['codigo'] = $res['CIDADE'];
    }    
    return json_encode($valores);
?>






conexao

_______________



<?php
    
class Conexao
{
    private static $connection;
    
    private function __construct(){}
   
    public static function getConnection() {

define('DB_HOST'        , "******"); 
define('DB_USER'        , "******");
define('DB_PASSWORD'    , "******");
define('DB_NAME'        , "******");
define('DB_DRIVER'      , "sqlsrv");
    
        $pdoConfig  = DB_DRIVER . ":". "Server=" . DB_HOST . ";";
        $pdoConfig .= "Database=".DB_NAME.";";
         
        try {
            if(!isset($connection)){
                $connection =  new PDO($pdoConfig, DB_USER, DB_PASSWORD);
                $connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            }
            return $connection;
         } catch (PDOException $e) {
            $mensagem = "Drivers disponiveis: " . implode(",", PDO::getAvailableDrivers());
            $mensagem .= "\nErro: <p>" . $e->getMessage()."</p>";
            throw new Exception($mensagem);
         }
     }    
        //método que desconecta
       // public function desconectar() {
        //$this->PDO = null;
        //}    

    public static function desconectar()
    {
        self::$connection = null;
    }        
 
}
    


 

Postado

E aí,

No cidades2, você precisa iniciar um array vazio e no foreach ir adicionando as cidades nesse array. Depois da um echo json_encode desse array. No front, vai precisar fazer um $.each pra colocar um option pra cada cidade retornada.

Ex.:

 

cidades 2:

$cidades = [];

foreach($cidadesDoBancoDeDados as $cidade){

array_push($cidades, $cidade);

}

echo json_encode($cidades);



front (dentro do success):

let resposta = JSON.parse(retornoCidades2);

$.each(resposta, function(index, cidade){

$('#selectCidade').append(`<option value="${cidade.id}">${cidade.nome}</option>`);

};

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!