Ir para conteúdo
Fórum Script Brasil
  • 0

Select List


Vinícius

Pergunta

Olá,

Eu estou precisando de uma ajuda de vocês para fazer um select list dinâmico.

Vou explicar:

Tenho:

2 select(menu) - 1 combo de cidades e 1 combo de Estados.

1 input text comum.

1 select(list).

Além de dois botões (Adicionar e Retirar).

O botão Adicionar irá adicionar um <option> no select(list).

O botão Retirar irá remover um <option> no select(list).

O botão adicionar conterá um evento para pegar o valor da combo(Cidade) selecionado, o valor da combo (Estado) selecionado e o valor do input e inserir uma opção no meu select(list).

O option seria como: <option>Cidade - Estado - Valor do Input</option>

Minha dificuldade é:

Inserir o valor no select(list) seguindo o padrão:

<option value="1">Cidade - Estado - Valor do input</option>

<option value="2>Cidade - Estado - Valor do input</option>

Pegar o valor de dentro do option:

<option value="1">Valor a ser pego</option>

Tenho que pegar os valores dos options porque antes de inserir uma opção no select(list) tenho que verificar se já existe uma opção igual no mesmo.

O botão remover conterá um evento que identificará quais options no select(list) estão selecionados e deletará eles.

Caso não tenha nenhum option no select(list) ou nenhum option selecionado, haverá um alert() com uma mensagem de erro.

Gostaria que vocês me dessem uma base de como posso fazer esse script.

Que funções usar, etc...

Meu código até o momento:

<script language="javascript">

function AdicionaRemoveItem(estado, cidade, localidade, identificacao)

   {

   var f      = document.form1;

   var qtde   = f.quantidade.value;

   if (identificacao == 1)

      {

      if (qtde == "")

         {

      alert("Por favor, preencha o campo quantidade!");

      f.quantidade.focus();

         //return false;

      }

      /*  Begin --- Função para verificar se o campo Quantidade é numérico */

      var numeros = "0123456789";

      var temp;

      for(var i=0; i < f.quantidade.value.length; i++)

         {

         temp = f.quantidade.value.substring(i,i+1)

         if (numeros.indexOf(temp) == -1)

            {

            horario    = f.quantidade.value.substring(0,i);

         alert("Por favor, preencha o campo quantidade só com caracteres numéricos!");

         f.quantidade.focus();

            break;

            }

         }

      /*  Fim  */

      if (f.quantidade.value == "0")

         {

      alert("Por favor, preencha um número válido para o campo Quantidade");

      f.quantidade.focus();

         f.quantidade.value='';

      //return false;

      }

      }

   }

</script>

No HTML:

<tr>

  <td width="480" colspan="2"><a href="javascript:AdicionaRemoveItem('document.form1.estado.value','document.form1.cidade.value','listLocalidades','1')"><img src="../../../images/adicionar.jpg" alt="Adicionar localidade" width="90" height="20" border="0"></a>&nbsp;&nbsp;<a href="javascript:AdicionaRemoveItem('document.form1.estado.value','document.form1.cidade.value','listLocalidades','2')"><img src="../../../images/retirar.jpg" alt="Retirar localidade" width="75" height="20" border="0"></a></td>

</tr>

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Meu script vai ser parecido com um desafio de JS que teve aqui no fórum.

Segue link:

http://scriptbrasil.com.br/forum/index.php...40957&hl=select

A diferença é que no meu tem algumas validações que tem que ser feitas e a inclusão é através das botões Adicionar e retirar ao invés do prompt.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...