Jump to content
JFernandesVR

Select dinâmico e dependentes

Recommended Posts

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 }
 }

Edited by brunoais
geshi no 1º [code]

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites
JFernandesVR

o que eu disse é que apenas executa o primeiro select

o segundo ja nao funca

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.