Preencher dinamicamente segundo combobox de acordo com o primeiro (com busca sql)
Tenho um código que aparentemente estaria certo porém ele "trava" e não mostra os resultados.
Creio que o problema está na parte de "buscar" o json apenas.
Segue o código:
<style>.carregando{color:#666;display:none;}</style>
<div class="col-md-7">
<label for="empreendimento">Escolha o empreendimento</label>
<select name="empreendimento" class="form-control" required="" id="empreendimento">
<option value="">-- Escolha um empreendimento --</option>
<?php
$sqlVs = "SELECT `id`,`nm` FROM `empreend` WHERE `dis`='1' ORDER BY `nm` ASC";
$queryVs = mysqli_query($link, $sqlVs);
$total = mysqli_num_rows($queryVs);
if ($total > 0){
while($r = mysqli_fetch_array($queryVs)){
$id = $r['id'];
$nm = $r['nm'];
echo '<option value="'.$id.'">'.$nm.'</option>';
}
} else {
echo '<option value="0">Não há empreendimentos disponíveis</option>';
} ?>
</select>
</div>
<div class="col-md-5">
<label for="unidades">Unidade</label>
<span class="carregando">Aguarde, carregando...</span>
<select name="unidades" id="unidades" class="form-control" required="">
<option value="">-- Escolha uma unidade --</option>
</select>
</div>
<script src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load('jquery', '1.3');
</script>
<script type="text/javascript">
$(function(){
$('#empreendimento').change(function(){
if( $(this).val() ) {
$('#unidades').hide();
$('.carregando').show();
$.getJSON('ajax/busca_emp.php?search=',{empreendimento: $(this).val(), ajax: 'true'}, function(j){
var options = '<option value=""></option>';
for (var i = 0; i < j.length; i++) {
options += '<option value="' + j[i].id + '">' + j[i].nm + '</option>';
}
$('#unidades').html(options).show();
$('.carregando').hide();
});
} else {
$('#unidades').html('<option value="">– Escolha um empreendimento –</option>');
}
});
});
</script>
if(!empty($_GET["search"]))
{
$empreendimento = trim($_GET["search"]);
$empreendimento = mysqli_real_escape_string($link, $empreendimento);
$unidades = array();
$sqlVs = "SELECT `id`,`nm` FROM `empreendimento` WHERE `id`='$empreendimento' ORDER BY `nm` ASC";
$queryVs = mysqli_query($link, $sqlVs);
$total = mysqli_num_rows($queryVs);
if ($total > 0){
while($r = mysqli_fetch_array($queryVs)){
$unidades[] = array(
'id' => $r['id'],
'nm' => $r['nm'],
);
}
}
echo( json_encode( $unidades ) );
}
else {
echo 'vazio';
}
Ele trava e fica apenas mostrando:
Aguarde, carregando...
Olhei o json e ele está recuperando:
[{"id":"1","nm":"Condominio"}]Discussão (1)
Carregando comentários...