Controlar/Editar/Ordenar um listbox(select) com Javascript

January 4, 2008 7:05 am

Antes de iniciar para quem não sabe o que é um listbox e como usa-lo no html:

listbox em HTML pode ser feito usando a tag <select>, definindo o atributo size

Exemplo:

<select name="teste" size="10"> </select>

O exemplo acima abrira uma lista mostrando até 10 itens, mas não limitando o select a isso, essa é apenas a limitação da área visível.
No exemplo que deixo no final do artigo verão melhor como funciona.

Onde posso aplicar isso?
Pode ser usado em qualquer lugar onde você usaria checkbox, ou seja, onde precisa de múltiplas escolhas.
Eu considero o checkbox mais vantajoso e acessível, uma vez que usar o listbox da forma que mostrarei depende de JS.
Porém algumas vezes por imposição de outras pessoas precisamos trabalhar com isso e pra não entrar no campo da hipocrisia vou deixar minha ajudinha por aqui também :D Mas deixo claro, tendo opções, usem checkbox!

O exemplo vocês podem ja ir dando uma olhada aqui:

FS listBox 1.0.0

Ali também disponibilizo o código para download :D
Comentando um pouco mais sobre o exemplo. Ele possui 2 funcoes em javascript; uma para mover os elementos de um listbox/select para o outro, e outra para ordenar o select.

A função para ordenar pode ser usado em qualquer campo select tranquilamente, mesmo que não seja aberto.

Para ordernar basta usar:

	ordenarLista("nome_do_select");

Onde o “nome_do_select” tem que ser o caminho completo do objeto do formulário, um exemplo:

	var nome_do_select = document.form.nome_select;
	ordenarLista(nome_do_select);

Para mover/controlar elementos de uma lista para a outra basta usar o seguinte:

	move("nome_form","nome_do_select1","nome_do_select2");

Neste caso basta inserir o nome(name) de cada campo, entre aspas e o script faz o resto.
O select1 não importa se esta a direita a esquerda, abaixo ou acima, seja sempre o que esta cedendo um elemento, e o select2 é o receptor.
Logo coloquem no lugar do “nome_do_select1″ sempre que perde elementos e no “nome_do_select2″ quem recebe :D
Bom é isso por enquanto, duvidas, criticas como sempre, bem vindas, espero nos próximos dias começar a responder alguns emails que me enviaram, antes tarde do que nunca certo ;D

Compare preços

3 Comentários para “Controlar/Editar/Ordenar um listbox(select) com Javascript”

cilene Escreveu um comentário on January 14, 2008

Tem um selinho? posso colocar no meu blog?

Eduardo Escreveu um comentário on September 16, 2008

Bom dia! Ótima função essa - está quase encaixando no que preciso aqui, porém estou com um problema que deve ser meio estúpido:

Tirei a função ordenar, já que estou utilizando o listbox pra criar uam sequência que o usuário desejar. Mas como eu faço para a página de destino receber os valores do segundo listbox, já que nenhum estará selecionado? (não sei se soube explicar direito)

Abraços!

Rodrigo Ramos Escreveu um comentário on October 1, 2008

Muito bom!

Todos os outros que tinha tentado até hoje faziam referência por “this.document.getElementById()”, dai o FF dava mensagem de undefined.

Tive dificuldades para achar algum script desse tipo que funcionasse (FINALMENTE) no Firefox.

Show de bola veio.

Comenta ae..


Assine meus Feeds


Sobre/Contato

scripts