Ir para conteúdo

POWERED BY:

Arquivado

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

Henrique Zanini

Ajax Carregar Página - Buscas com filtro

Recommended Posts

Amigos, tenho uma página com vários filtros de buscas. Tenho 5 selects com as opções do filtro vindo do banco de dados. Esses, são enviados via formulário.

 

O que quero fazer é quando selecionar alguma opção do filtro ele carregar dinamicamente abaixo dos filtros (sem dar refresh na página).

 

Eu consegui fazer com ajax, mas somente com links. Alguém tem um tutorial que ensine a fazer com um formulário?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é simples

 

$('select').change(function(){
 var valor = $(this).val();
 //faz o ajax normal
});

 

o script diz que quando o select selecionado mudar de valor ele vai executar uma função, vai guardar o valor do item selecionado e depois você pode fazer o ajax tranquilamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas dessa forma, ele vai 'montando' a consulta? Por ex, o cara seleciona o projeto o ano e depois o mês. Cada seleção ele executa o formulário e traz o resultado. Dessa forma, ele 'salvaria' os dados?

 

Obrigado pela resposta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

dessa forma não existe submit, essa ação é independente do formulário.

 

foi como eu disse no post #1 a ação só acontece quando ele selecionar algum item do select o restante não importa.

 

sendo assim você pode fazer como se fosse um combo-dinamico

 

$('select#ano').change(function(){
 var valor = $(this).val();
  $.post(
    "select-ano.php",
    {valor: valor},
    function(data){
      $('select#mes').html('<option>Carregando...</option>');
      $('select#mes').append(data);
    }
  );
});

 

select-ano.php

extract($_POST);
$sql = "SELECT mes FROM tabela WHERE ano = $valor ";
$meses = mysql_query($sql);
$m = '';
foreach($meses as $mes){
$m . = "<option value='{$mes['id']}'>{$mes['nome']}</option>";
}
echo $m;

 

de uma olhada em combo dinamico me parece que é o que você precisa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela resposta.

 

Aqui está o link do que eu estou fazendo.

acho que fica mais fácil de entender a minha dúvida.

 

Meu Projeto

 

Baseado no seu exemplo eu consegui fazer, não sei se fiz corretamente.

 

Exemplo aqui

 

O problema é que eu não consegui fazer o select dar submit automaticamente (como estava antes).

 

se eu tirar do action o 'javascript:func()' e por exemplo, colocar 'envia.php'. Ao clicar no select, ele funciona perfeitamente :/

 

Sabe alguma forma de resolver isso?

 

Obrigado mais uma vez!

 

Alguém podem me ajudar nessa última dúvida? Estou tentando faz dias, mas ainda não consegui ter um resultado positivo :/

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.