Como fazer consulta após selecao em combo dinamico com Jquery e passar valor para variavel php
Pessoal, boa noite
Nao sei se saberei explicar corretamente porque sao mtas duvidas, mas...
Tenho um select dinamico funcionando perfeitamente (
* O primeiro traz as categorias existentes [table categorias]
* O segundo as datas disponiveis para cada categoria (table datas)
* O terceiro os horarios disponiveis naquela data [table horarios]
Até ai tudo bem, estou usando Jquery e php
Porem, o que eu nao sei fazer é como fazer uma consulta em uma table do banco após a escolha (mudanca) no terceiro combo
Ou seja, para cada opcao selecionada no terceiro combo denominado horarios eu teria que fazer uma consulta dinamica [no arquivo consulta.php] do tipo Select * from table where categoria = 'a categoria escolhida no primeiro combo' and datas = 'data escolhida no segundo combo' e horario = 'horario escolhido no terceiro combo'
O resultado dessa consulta eu preciso passar para uma variavel php e printar em uma div
Tudo isso sem refresh
Ao mudar o valor do terceiro combo obviamente vai mudar o resultado desse select e, portanto, o valor printado na div
Como posso fazer, isso, por favor?
Segue abaixo como estou obtendo o valor dos combos
<script type="text/javascript">
$(document).ready(function() {
$('#pacote').on('change', function() {
$.ajax({
type: 'POST',
url: 'index.hyperesources/lista_datas.php',
dataType: 'html',
data: {'pacote': $('#pacote').val()},
// Antes de carregar os registros, mostra para o usuário que está
// sendo carregado.
beforeSend: function(xhr) {
$('#datas').attr('disabled', 'disabled');
$('#datas').html('<option value="">Carregando...</option>');
$('#horarios').html('<option value="">Data</option>');
$('#horarios').attr('disabled', 'disabled');
},
// Após carregar, coloca a lista dentro do select de cidades.
success: function(data) {
if ($('#pacote').val() !== '') {
// Adiciona o retorno no campo, habilita e da foco
$('#datas').html('<option value="">Selecione</option>');
$('#datas').append(data);
$('#datas').removeAttr('disabled').focus();
} else {
$('#datas').html('<option value="">Pacote</option>');
$('#datas').attr('disabled', 'disabled');
$('#horarios').html('<option value="">Data</option>');
$('#horarios').attr('disabled', 'disabled');
}
}
});
});
$('#datas').on('change', function() {
$.ajax({
type: 'POST',
url: 'index.hyperesources/lista_horarios.php',
dataType: 'html',
data: {'datas': $('#datas').val()},
// Antes de carregar os registros, mostra para o usuário que está
// sendo carregado.
beforeSend: function(xhr) {
$('#horarios').attr('disabled', 'disabled');
$('#horarios').html('<option value="">Carregando...</option>');
},
// Após carregar, coloca a lista dentro do select de bairros.
success: function(data) {
if ($('#datas').val() !== '') {
// Adiciona o retorno no campo, habilita e da foco
$('#horarios').html('<option value="">Selecione</option>');
$('#horarios').append(data);
$('#horarios').removeAttr('disabled').focus();
} else {
$('#horarios').html('<option value="">Data</option>');
$('#horarios').attr('disabled', 'disabled');
}
}
});
});
});
}
</script>Discussão (13)
Carregando comentários...