Boas tenho isto em HTML/PHP:
Código (PHP):
E isto em javascript:
Para o concelho tenho isto (funciona)
E a das Freguesias:
Código (PHP):
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
Código (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>
<?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)
Citar
Código (PHP):
<!-- 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>
<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:
Código (PHP):
<!-- 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>
<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