Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

xSmoking

Receber array no jQuery

Recommended Posts

Gostaria que ao selecionar uma cidade, o jQuery fizesse um "ajax" pra pegar os bairros respectivos e mostrar as opções no select

 

Em JSON funcionaria melhor?

 

jQuery

$("#cidade").change(function() {    
    $.post(
        "ajax/ajax-bairro.php",
        {
            cidade: $(this).val()
        },
        
        // como receber o array e imprimir as options no html?
        // id do select: #bairros
    );
});

PHP

<?php

include '../connector/connectionFactory.php';

$cidade = $_POST['cidade'];

$bairros = $mysqli->query(sprintf("SELECT * FROM tb_bairros WHERE cidade = '%s'", $cidade));

$dados = array();

while($linha = $bairros->fetch_assoc()){
    array_push($dados, $linha['bairro']);
}

// como enviar o array para o jQuery?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu normalmente monto o select no retorno da consulta. Algo do tipo:

$select = "<select>";
while($linha = $bairros->fetch_assoc()){
  $select .= "<option value='$linha['bairro']'>$linha['bairro']</option>";
}
$select .= "</select>";
echo $select;

E no retorno do ajax, feito pelo jquery:

$("#cidade").change(function() {    
    $.post(
        "ajax/ajax-bairro.php",
        {
            cidade: $(this).val()
        },
        success: function(txt){
          $('lugar_onde_vai_ficar_o_select').html(txt);
        },
        error: function(txt){
          alert('ERRO ' + txt);
        }
    );
});

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Eu normalmente monto o select no retorno da consulta. Algo do tipo:

$select = "<select>";
while($linha = $bairros->fetch_assoc()){
  $select .= "<option value='$linha['bairro']'>$linha['bairro']</option>";
}
$select .= "</select>";
echo $select;

E no retorno do ajax, feito pelo jquery:

$("#cidade").change(function() {    
    $.post(
        "ajax/ajax-bairro.php",
        {
            cidade: $(this).val()
        },
        success: function(txt){
          $('lugar_onde_vai_ficar_o_select').html(txt);
        },
        error: function(txt){
          alert('ERRO ' + txt);
        }
    );
});

 

Mas e para enviar um array ao jQuery? Como faço para ele receber e fazer um append para cada valor do array

Agora entendi o que você quis dizer, funcionou!!

 

Obrigado, abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode enviar o array via echo tbm. Depois de encerrar o while faz um echo $dados;

E pode tratar o array no jQuery.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.