Ir para conteúdo

Arquivado

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

Carcleo

Problemas com OPTION SELECT

Recommended Posts

Ola pessoal, preciso de um apoio.o negócio é o seguinte:Como faço para que em um Select Option que tem uma lista por exemplo de 150 options, para que a cada letra que eu digitar ele completar a outra.Por exemplodigamos que exista numa lista 2 nomes começando com a, 2 com b, etc...Quando digito a, ele por ordem alfabetica, vai para a primeira palavra certo, porem, se eu digitar a de novo, ele vai pra segunda palavra começando por a.O que eu preciso é que ele a cada letra digitada ele pule pra proxima filtrando a próxima.Como fazer isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oh irmao, testei seu primeiro código e funcionou legal.Mas, num tem um jeito de colocar o proprio select option pra fazer a seleção e tirar o <input type=text...> da jogada nao?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oh irmao, testei seu primeiro código e funcionou legal.

Mas, num tem um jeito de colocar o proprio select option pra fazer a seleção e tirar o <input type=text...> da jogada nao?

assim só vi em linguagens como delphi e VB na web ainda não

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz esse código para não usar o input. Ainda não achei problemas, mas aceito sugestões de melhoria. São duas functions:

 

var CaracterDigitado = "";

var clicado=false;

function ArmazenaChars(){

CaracterDigitado=CaracterDigitado+String.fromCharCode(event.keyCode);

}

function PesquisaSelect(what) {

if (clicado==true){

clicado=false;

CaracterDigitado=what.options[what.selectedIndex].text.substring(0,1);

return

}

for (i=0; i < what.length; i++){

qtd = CaracterDigitado.length;

if (what.options.text.substring(0, qtd).toUpperCase() == CaracterDigitado.toUpperCase()) {

what.selectedIndex = i;

break;

}

}

if (i==what.length) {CaracterDigitado=what.options[what.selectedIndex].text.substring(0,1);}

}

 

 

E no select:

<select name="PAISES" onkeydown="java script:ArmazenaChars();" onchange="java script:PesquisaSelect(this);" onmousedown="java script:clicado=true;">

 

Ok?

[]'s

Claudia

Compartilhar este post


Link para o post
Compartilhar em outros sites

testei só no IE e está okmeu código está assim: <select name="PAISES" tabindex=99 onkeydown="java script:ArmazenaChars();" onchange="java script:PesquisaSelect(this);" onmousedown="java script:clicado=true;"> <option></option> <option value="2">AFGHANISTAN</option><option value="3">ALBANIA</option><option value="4">ALGERIA</option><option value="5">AMERICAN SAMOA</option><option value="6">ANDORRA</option><option value="7">ANGOLA</option><option value="8">ANGUILLA</option><option value="9">ANTARCTICA</option><option value="10">ANTIGUA AND BARBUDA</option><option value="11">ARGENTINA</option><option value="12">ARMENIA</option><option value="13">ARUBA</option><option value="14">AUSTRALIA</option><option value="15">AUSTRIA</option><option </select>as funções estão em um js.

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.