terça-feira, 19 de agosto de 2003

Procurando texto em um select

Estava trabalhando com um banco de dados com muitas empresas e colocava-as em um campo <select>, mas depois para selecioná-las era um trabalhão. Então desenvolvi essa função para facilitar a navegação.


<SCRIPT language='javascript'><!--
function BuscaSelect(campo) {
   var1=campo.value;
   var1=var1.toUpperCase()
   var2=form1.id.length;
   for (i=0;i<var2;i++) {
      aux="form1.id.options["+i+"].text";
      aux2=eval(aux);
      if (aux2.indexOf(var1)==0) {
         form1.id.selectedIndex=i;
         i=var2; } } }
--></SCRIPT>


<!-- Exemplo -->


<form name="form1">
<input type='text' onkeyup="BuscaSelect(this);"><br>
<select class='form' name='id' SIZE='5'>
<option selected value='1'> AÇOUGUE VACA LOUCA
<option value='2'> BAR ANA MARIA
<option value='3'> BAR SAO JORGE
<option value='4'> CASA DE COLCHÕES BEDROCK
<option value='5'> COMERCIAL TRANCOZO
<option value='10'> DELBOUX LINGERIE
<option value='12'> EBOLA PRODUTOS MEDICOS
<option value='15'> FUNERARIA VIAGE FELIZ
<option value='11'> GUIA TURISTICO BAHIA
<option value='52'> HOLTEL NOSSA SENHORA APARECIDA
<option value='6'> INDUSTRIA DE MOVEIS SAO LUCAS
<option value='7'> INDUSTRIA QUIMICA FELIZ
<option value='15'> JAMELI ALVES E CIA LTDA
<option value='53'> KELLY MOTORS
<option value='51'> LAVA RAPIDO DO MIGUEL
<option value='50'> MOTEL GOZO FELIZ
<option value='59'> NATAL LEGAL
<option value='58'> ONG PRODUTOS PARA GARIMPEIROS
<option value='57'> PATO DONALD
<option value='56'> QUEIJO DE FURNAS
<option value='95'> ROBERVAL ESQUADRIAS
<option value='60'> SAPATOS KIKO
<option value='55'> TULIO REBOUÇAS
<option value='85'> UVAS GOIANIA
<option value='66'> VACA LOKA PRODUTOS VETERINARIOS
<option value='77'> XENA PRINCESA DA SELVA
<option value='99'> ZOOLOGICO ARCA DE NOE
</select>


Para testar digite o começo do nome da empresa no campo "text". Caso deseje que o script busque qualquer parte do nome da empresa, basta trocar if (aux2.indexOf(var1)==0) por if (aux2.indexOf(var1)!=-1).


Espero que ajude!



Esta matéria foi postada originalmente no ASP4Developers por Rogério César (Craz¥ Man) (site), que na época era "Analista de Sistemas, programador, web Designer.". Hoje, vai saber...

0 comentários: