Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

leandoribeiro23

a href + PHP - transformar botões em lista select

Recommended Posts

Olá tenho diversos botões que geram relatórios. um exemplos deles é o seguinte:

<a href="<?php echo base_url('pessoa/gerar_carteira')."/".$registro['id_pessoa'];?> " style="float:left;margin-left:4px;" title="Visualizar/Editar" target="_blank" class="btn btn-primary btn-sm"><i class="fa fa-pencil">Gerar Carteira</i></a>

O problema é que o formulário está ficando cheio de botões, aí estava querendo retirar os botões e colocar uma caixa drop down <select> entretanto não estou conseguindo juntar tudo na lista select para que quando eu clique no nome da lista ele abra do relatório específico. alguém poderia me ajudar a montar pelo menos um.

grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz um menu flutuante usando jquery ou angular.

exemplo básico:

http://www.htmldrive.net/items/demo/518/JavaScript-Dropdown-Menu-with-Multi-Levels

Olá Grato pelo link, mas o meu problema é que não estou conseguindo colocar o código do PHP no html.

o Código em PHP que não consigo colocar no select é o seguinte: <?php echo base_url('pessoa/gerar_carteira')."/".$registro['id_pessoa'];?>

felicidades

Compartilhar este post


Link para o post
Compartilhar em outros sites

use jQuery, exemplo:

<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
  $('#meu-select').on('change', function(e){
    // aqui você coloca o que quer fazer...
    // quando a pessoa selecionar algo no select 
    $('#resultado').html($(this).val()); // este é só um exemplo
  });
});
</script>

<select id="meu-select">
<option value="option1">Opção 1</option>
<option value="option2">Opção 2</option>
<option value="option3">Opção 3</option>
</select>

<div id="resultado"></div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

use jQuery, exemplo:

<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
  $('#meu-select').on('change', function(e){
    // aqui você coloca o que quer fazer...
    // quando a pessoa selecionar algo no select 
    $('#resultado').html($(this).val()); // este é só um exemplo
  });
});
</script>

<select id="meu-select">
<option value="option1">Opção 1</option>
<option value="option2">Opção 2</option>
<option value="option3">Opção 3</option>
</select>

<div id="resultado"></div>

olá Mateus, grato pela resposta, fico feliz por disponibilizar seu tempo para ajudar. Eu tentei montar, mas me falta conhecimento... não consegui. vou escrever aqui o php do botão que abre os relatórios

<?php echo base_url('pessoa/gerar_carteira')."/".$registro['id_pessoa'];?>

Esse abre o relatório chamado "Carteira"

<?php echo base_url('pessoa/declaracao_view')."/".$registro['id_pessoa'];?>

Esse abrre o relatório chamado "Declaração"

esses dois códigos estão dentro de botões, com a hrelf. mas como disse já tem oito botões e está ficando com visual feio.

------

Apenas para que você saiba, o botão original tem o seguinte código no meu formulário: <a href="<?php echo base_url('pessoa/declaracao_view')."/".$registro['id_pessoa'];?> " style="float:left;margin-left:4px; margin-top:4px;" title="Visualizar/Editar" target="_blank" class="btn btn-success btn-sm"><i class="fa fa-archive">Gerar Declaração</i></a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Leandro,

Se você já ta usando PHP e tem uma quantidade de links muito grandes, então use For / Foreach.

Exemplo:

<?php
   /* Aqui vai seu array de botões */
   $buttons = array(
      array( 'http://google.com.br', 'Google' ),
      array( 'http://bing.com.br', 'Bing' ),
      array( 'http://yahoo.com.br', 'Yahoo')
   );

   foreach ( $buttons as $btn ) :
?>

   <a href="<?php echo $btn[0] ?>"> <?php echo $btn[1] ?> </a>

<?php endforeach; ?>

Se essas informações estiverem vindo de um webservice (for JSON ou algo assim), então você nem precisa se preocupar com o array de array, só com o foreach.

Você pode adicionar o foreach dentro de um select e mandar ele printar os parâmetros no option. Ou se preferir, pode fazer em CSS um dropdown e printar da mesma forma nesse dropdown.

Exemplo 2:

<ul>
   <li><a href="#">Inicio</a></li>
   <li><a href="#">Quem somos</a></li>
   <li><a href="#">Dropdown</a>
      <?php foreach ( $buttons as $btn ) : ?>

         <li><a href="<?php echo $btn[0]"> <?php echo $btn[1] ?> </a></li>

      <?php endforeach; ?>
   </li>   
</ul>

Obs.: Quando for utilizar target="_blank", não se esqueça de usar rel="noreferrer noopener" - Segue o motivo: https://dev.to/ben/the-targetblank-vulnerability-by-example

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Leandro,

Se você já ta usando PHP e tem uma quantidade de links muito grandes, então use For / Foreach.

Exemplo:

<?php
   /* Aqui vai seu array de botões */
   $buttons = array(
      array( 'http://google.com.br', 'Google' ),
      array( 'http://bing.com.br', 'Bing' ),
      array( 'http://yahoo.com.br', 'Yahoo')
   );

   foreach ( $buttons as $btn ) :
?>

   <a href="<?php echo $btn[0] ?>"> <?php echo $btn[1] ?> </a>

<?php endforeach; ?>

Se essas informações estiverem vindo de um webservice (for JSON ou algo assim), então você nem precisa se preocupar com o array de array, só com o foreach.

Você pode adicionar o foreach dentro de um select e mandar ele printar os parâmetros no option. Ou se preferir, pode fazer em CSS um dropdown e printar da mesma forma nesse dropdown.

Exemplo 2:

<ul>
   <li><a href="#">Inicio</a></li>
   <li><a href="#">Quem somos</a></li>
   <li><a href="#">Dropdown</a>
      <?php foreach ( $buttons as $btn ) : ?>

         <li><a href="<?php echo $btn[0]"> <?php echo $btn[1] ?> </a></li>

      <?php endforeach; ?>
   </li>   
</ul>

Obs.: Quando for utilizar target="_blank", não se esqueça de usar rel="noreferrer noopener" - Segue o motivo: https://dev.to/ben/the-targetblank-vulnerability-by-example

Abraços!

Olá Henrique, obrigado por postar esse código, vou tentar sim.

felicidades

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.