Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

JFernandesVR

Select dinâmico e dependentes

Mensagens Recomendadas

JFernandesVR

Boas pessoal.

Estou a tentar fazer um select dependente sem usar botoes, onde ao escolher a familia, automaticamente o select da subfamilia ira so mostrar as subfamlias correspondentes a familia.

Porem nao consigo fazer, pois dame erro, e so me aparece me sempre a opção de erro do option que inseri <option value="0"><?php echo htmlentities('Não subfam nesse fam') ?></option>

Código JS

<script type="text/javascript">

    $(document).ready(function(){

        $("select[name=fam]").change(function(){
        $("select[name=subfam]").html('<option value="0">Carregando...</option>');

        $.post("subfam.php",
                {fam:$(this).val()},
                function(valor){
                    $("select[name=subfam]").html(valor);
                }
                )

        })
    })

</script>

Código index.php

<form method="post" action="<?php echo $_SERVER['PATH_INFO']?>">
<select name="fam">
      <option value="0">Escolha uma Família</option>
       <?php
        $sql = "SELECT * FROM familias ORDER BY Nome ASC";
        $qr = mysql_query($sql) or die(mysql_error());
        while($ln = mysql_fetch_assoc($qr))
  {
   ?>
           <option value="<?php echo $ln['ID'] ?>"><?php echo $ln['Nome'] ?></option>
          <?php
        }
     ?>

   </select>
<select name="subfam">
      <option value="0" disabled="disabled">Escolha uma Familia Primeiro</option>
   </select>

Código subfam.php

<?php
$familia = $_POST['fam'];

$sql = "SELECT * FROM subfamilias WHERE FamPrincipal = '$familia' ORDER BY Nome ASC";
$qr = mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($qr) == 0)
 {?>
     <option value="0"><?php echo htmlentities('Não subfam nesse fam') ?></option>
  <?php
 }
else
 {
     while($ln = mysql_fetch_assoc($qr))
   {?>
         <option value="<?php echo $ln['ID'] ?>"><?php echo $ln['Nome'] ?></option>
      <?php }
 }

Editado por brunoais
geshi no 1º [code]

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

eu não acredito que aconteça o que referes, pela simples razão que tens erros de sintaxe de javascript:

$(document).ready(function(){
 $("select[name=fam]").change(function(){
 $("select[name=subfam]").html('<option value="0">Carregando...</option>');

 $.post("subfam.php",
   {fam:$(this).val()},
   function(valor){
     $("select[name=subfam]").html(valor);
   } // <--- o que é que isto fecha ?
   ) // <--- o que é que isto fecha ?
 })  // <--- o que é que isto fecha ?
})    // <--- o que é que isto fecha ?


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.