Jump to content
Fórum Script Brasil
  • 0

[Resolvido] Links e divs


MTavares

Question

Bom dia, boa tarde, boa noite pessoal.

Estou precisando de uma força dos colegas. Tenho uma listagem de produtos dos quais cada qual tem seu próprio código. Ex.:

COD-1, COD-2, COD-3, ...

Gostaria de saber como faço para quando clicar em cada um dos códigos, abrir uma div ao lado com a descrição dos produtos. Conheço esse comando e Javascript:

function mostrar(valor){
   if(valor == 1){
    document.getElementById('não').style.display="none";
    document.getElementById('sim').style.display="block";
}else if(valor == 2){
    document.getElementById('sim').style.display="none";
    document.getElementById('não').style.display="block";
 }
}

O único problema é que podem existir dezenas de códigos dos produtos.

Obrigado!

Edited by MTavares
Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Consegui aqui no fórum, da colega Andrea o seguinte código:

<script>
function ExpandeDiv(id_cadastro)
{
var qtd_div = document.getElementsByTagName('div').length;
var div_sel = document.getElementById(id_cadastro);
var todas_divs;

for (var i = 1; i <= qtd_div; i++)
{
todas_divs = document.getElementById("div"+i);

if (todas_divs.id != id_cadastro)
todas_divs.style.display = 'none';
else
div_sel.style.display = 'block';
}
}
</script>

Adaptei dessa forma como exemplo:

 <?php for($c = 1; $c < 5; $c++){ ?>
             <a href="#" id="<?php echo $codProduto; ?>" onclick="ExpandeDiv('div<?php echo $c; ?>')">produto <?php echo $c; ?></a><br>
           <?php } ?>

Agora preciso fazer com que ao clicar no link, passe o código do produto para as divs que irão abrir. Vejam:

<div id="div1" style="display:none">DIV 1</div>

Tem como fazer isso?

Link to comment
Share on other sites

  • 0

Ok... tentei agora com Ajax, porém como faço pra pegar o Cod do produto de um link? Tenho esse código, mas tb não estou conseguindo:

 $(document).ready(function(e) {
           $('.valor').on('click', function() {
           var self = $(this);
           var href = self.attr('href');
           $("#conteudo").load("link1.php?valor="+ href);
            });
        });
<?php for($c = 1; $c < 5; $c++){ ?>
           <a href="#teste_<?php echo $c; ?>" class="valor">Link_<?php echo $c; ?></a><br>
<?php } ?>
<div id="conteudo"></div>
Edited by MTavares
Link to comment
Share on other sites

  • 0

Pessoal. Consegui. Segue abaixo o código para quem passar pelo mesmo problema.

<script src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
        <script>            
        $(function(){
          $('#valor').click(function(){
            var id = $(this).attr('id');
            $("#conteudo").load("link1.php?valor="+ id);            
    });
});
        </script>

Troquei o <a href> pelo <div>:

<div id="valor" style="float: left">
            <?php for($c = 1; $c < 5; $c++){ ?>            
                 <div id="valor_<?php echo $c; ?>" style="cursor: pointer">Link_<?php echo $c; ?></div><br>
            <?php } ?>
</div>
        <div style="float: right">
              <div id="conteudo"></div>
       </div>
Edited by MTavares
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652.1k
×
×
  • Create New...