Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Duvidas com redirecionamento de link para option de select

Gostaria de saber como faço para redirecionar um link "a" quando for clicado, para um "option" de um "select" na mesma pagina html.

<html>
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
    <!-- Links -->
    <a href="#">Inicio</a>
    <a href="#">Contato</a>
    <a href="#">Sobre</a>
    <!-- Select -->
    <select>
      <option value="">Inicio</option>
      <option value="">Contato</option>
      <option value="">Sobre</option>
    </select>
  </body>
</html>
4 respostas

Clicar em um link e selecionar um item do select só é possível usando javascript.

Agora se você estiver falando sobre seções no html, você consegue fazer isso colocando um id no elemento que você quer link e no href você coloca #idDoElemento.

<html>
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
    <!-- Links -->
    <a href="#inicio">Inicio</a>
    <a href="#contato">Contato</a>
    <a href="#sobre">Sobre</a>
    <!-- Seções -->
    <section id="inicio">
    Seção Inicio
    </section>
    <section id="contato">
    Seção Contato
    </section>
    <section id="sobre">
    Seção Sobre
    </section>
  </body>
</html>

Você pode adicionar um efeito com css para que o scroll seja feito de forma lenta.

você poderia me dizer como é que seria em javascript ?

solução!

Existem várias formas de como você pode fazer isso. Alterei o seu html e inclui uma tag script com o que é feito.

Eu defini para cada item da sua lista um valor(value), e adicionei um atributo aos links com o valor de cada item da sua lista(só para facilitar no javascript), mas como disse pode ser feita de outras formas também.

No Javascript recupero a lista de links através da classe "link-selecionar", faço uma iteração em cada um desses links adicionando um evento de clique a cada um deles, neste evento de clique eu altero o valor da lista.

<html>
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
    <!-- Links -->
    <a href="#" data-opcao="inicio" class="link-selecionar">Inicio</a>
    <a href="#" data-opcao="contato" class="link-selecionar">Contato</a>
    <a href="#" data-opcao="sobre" class="link-selecionar">Sobre</a>
    <!-- Select -->
    <select id="lista-opcoes">
      <option value="inicio">Inicio</option>
      <option value="contato">Contato</option>
      <option value="sobre">Sobre</option>
    </select>

    <script>
      var links = document.querySelectorAll(".link-selecionar");
      var listaOpcoes = document.querySelector("#lista-opcoes");
      for (var i = 0; i < links.length; i++) {
        var link = links[i];
        link.addEventListener("click", function(event) {
          event.preventDefault();
          listaOpcoes.value = event.target.getAttribute("data-opcao");
        });
      }
    </script>
  </body>
</html>

Espero ter ajudado!!!

Ajudou bastante amigão, valeu!!!