ruben007 Posted May 4, 2015 at 10:13 PM Report Share #582468 Posted May 4, 2015 at 10:13 PM (edited) Boas tenho isto em HTML/PHP: <option value=' '>Selecione o Distrito</option> <?php $sql="SELECT * FROM distritos ORDER BY nome"; $prod_dest=mysqli_query($ligaBD,$sql); $num_registos=mysqli_num_rows($prod_dest); for($i=0;$i<$num_registos;$i++){ $dados=mysqli_fetch_array($prod_dest); echo '<option value="'.$dados["id"].'">'.utf8_encode($dados["nome"]).'</option>'; } ?> </select> <h5 style="margin-top:5px;margin-bottom:5px;"><small>Concelho</small></h5> <select style="margin:0px;" class="form-control" name="concelho" id="concelho_select" onchange='listar_freguesia()'> <option value=''>Selecione o Concelho</option> </select> <h5 style="margin-top:5px;margin-bottom:5px;"><small>Freguesia</small></h5> <select style="margin:0px;" class="form-control" name="freguesia" id="freguesia_select"> <option value=''>Selecione a Freguesia</option> </select> E isto em javascript: Para o concelho tenho isto (funciona) <!-- LISTAR CONCELHO --> <script type="text/javascript"> function listar_concelho() { <?php echo 'var codigo=document.getElementById("distrito_select").value; alert(codigo);'; $procurar_distrito="SELECT * FROM distritos"; $faz_pesq_distrito=mysqli_query($ligaBD ,$procurar_distrito); $num_distrito=mysqli_num_rows($faz_pesq_distrito); $value=' '; echo 'switch (codigo){'; for($i=0;$i<$num_distrito;$i++){ $distrito=mysqli_fetch_array($faz_pesq_distrito); echo 'case "'.$distrito["id"].'":'; /*echo '$("#concelho_select").html(""); var strToAdd ="<option value=" ">Selecione um Concelho</option>"; $("#concelho_select").append(strToAdd);';*/ $procurar_concelho="SELECT * FROM concelhos where id_distrito='".$distrito["id"]."'"; $faz_pesq_concelho=mysqli_query($ligaBD ,$procurar_concelho); $num_concelho=mysqli_num_rows($faz_pesq_concelho); for($a=0;$a<$num_concelho;$a++){ $concelho=mysqli_fetch_array($faz_pesq_concelho); echo 'var strToAdd'.$a.' ="<option value='.$concelho["id"].'>'.utf8_encode($concelho["nome"]).'</option>";'; echo '$("#concelho_select").append(strToAdd'.$a.');'; } echo 'break;'; } /*echo 'default: $("#concelho_select").html(""); var strToAdd ="<option value=" " >Selecione um Distrito</option>"; $("#concelho_select").append(strToAdd); break;';*/ echo '}'; ?> } </script> E a das Freguesias: <!-- LISTAR CONCELHO --> <script type="text/javascript"> function listar_freguesia() { <?php echo 'var codigo1=$("#concelho_select").val(); alert(codigo1);'; $procurar_concelho="SELECT * FROM concelhos"; $faz_pesq_concelho=mysqli_query($ligaBD ,$procurar_concelho); $num_concelhos=mysqli_num_rows($faz_pesq_concelho); echo 'switch (codigo1){'; for($q=0;$q<$num_concelhos;$q++){ $concelho=mysqli_fetch_array($faz_pesq_concelho); echo 'case "'.$concelho["id"].'":'; $procurar_freguesia="SELECT * FROM freguesias where id_concelho='".$concelho["id"]."'"; $faz_pesq_freguesia=mysqli_query($ligaBD ,$procurar_freguesia); $num_freguesia=mysqli_num_rows($faz_pesq_freguesia); for($x=0;$x<$num_freguesia;$x++){ $freguesia=mysqli_fetch_array($faz_pesq_freguesia); echo 'var strToAdd'.$a.' ="<option value='.$freguesia["id"].'>'.$freguesia["nome"].'</option>";'; echo '$("#test").append(strToAdd'.$a.');'; } echo 'break;'; } echo '}'; ?> } </script> A última não funciona e dá me este erro "Uncaught ReferenceError: listar_freguesia is not defined", já andei aqui de volta de isto e nada, será que me podem ajudar? A função é quase copy paste da outra de cima e não percebo pq não funciona Edited May 4, 2015 at 10:49 PM by apocsantos geshi Link to comment Share on other sites More sharing options...
help Posted May 4, 2015 at 10:49 PM Report Share #582469 Posted May 4, 2015 at 10:49 PM Uma dúvida. Você está tentando fazer um select que ao selecionar carrega outras opções, correto? Se for isso, já pensou em fazer com jQuery? Funciona basicamente assim, você vai carregar as options principais, quando houver um change nesse select, você faz uma consulta passando o id da option, e o resultado da consulta você insere em outro select, tudo via jquery. Link to comment Share on other sites More sharing options...
ruben007 Posted May 5, 2015 at 11:06 AM Author Report Share #582487 Posted May 5, 2015 at 11:06 AM Nunca trabalhei com jquery como querys, será que me podia ajudar com a parte das querys sff? Mexer nos elementos ainda me desenrasco. Só preciso como a executo e como recebo os valores das mesmas o resto eu faço Link to comment Share on other sites More sharing options...
Solution ruben007 Posted May 5, 2015 at 12:19 PM Author Solution Report Share #582489 Posted May 5, 2015 at 12:19 PM (edited) Já me orientei, usei isto: <script> $(document).ready(function() { $('#distrito_select').change(function() { var codigo=$('#distrito_select').val(); alert(codigo); $('#concelho_select').load('includes/carregarConcelhos.php?id='+codigo, { 'distrito': $('#distrito_select').value }); }); $('#concelho_select').change(function() { var codigo=$('#concelho_select').val(); $('#freguesia_select').load('includes/carregarFreguesias.php?id='+codigo, { 'concelho': $('#concelho_select').value }); }); }); </script> Edited May 5, 2015 at 12:19 PM by ruben007 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now