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

Ao Digitar Procura Valores Na Combo


DataSet

Pergunta

Olá pessoal, segue este exemplo que achei nos scripts prontos aqui do fourm, o código faz o seguinte, a pessoa digita num input e ele faz a busca na combo, deixando selecinado a opção que mais se assemelha ao digitado no input.

Eu preciso de algo assim, mas não posso ter um input, a pessoa clica na combo, daí ela fica azul, pois está selecionada, e vai digitando ali mesmo, e ele vai fazendo a pesquisa

http://scriptbrasil.com.br/forum/index.php...st&p=207163

Veja esse exemplo acima, como fazer a mesma coisa sem usar input? usando a própria combo ?

Valeu

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

vê se ajuda:

<script language="JavaScript">
var strLocalizarItemComboValor        = "";
var strLocalizarItemComboIndice        = 0;

function LocalizarItemCombo( pobjCampo , pobjkeyCode ){

var intContador        = 0;
var lSucesso        = false;
    
    if( pobjCampo.selectedIndex != strLocalizarItemComboIndice ){
        
        strLocalizarItemComboValor        = "";
        strLocalizarItemComboIndice        = pobjCampo.selectedIndex;
    }
    
    strLocalizarItemComboValor        += String.fromCharCode( pobjkeyCode );
    
    for( intContador = 0; intContador < pobjCampo.length; intContador++ ){
        
        if( pobjCampo.options[ intContador ].text.substring( 0 , strLocalizarItemComboValor.length ).toUpperCase( ) == strLocalizarItemComboValor.toUpperCase( ) ){
            
            pobjCampo.selectedIndex                        = intContador;
            strLocalizarItemComboIndice                    = intContador;
            intContador                                    = pobjCampo.length;
            lSucesso                                    = true;
        }
    }
    
    if( lSucesso == false ){
        
        strLocalizarItemComboValor = strLocalizarItemComboValor.substring( 0 , strLocalizarItemComboValor.length - 1 );
    }
    
    event.returnValue    = '';
    event.keyCode        = null;
}

document.onreadystatechange    = fcnIniciaControleCopiarColar;


function LocalizarItemCombo( pobjCampo , pobjkeyCode ){

var intContador        = 0;
var lSucesso        = false;
    
    if( pobjCampo.selectedIndex != strLocalizarItemComboIndice ){
        
        strLocalizarItemComboValor        = "";
        strLocalizarItemComboIndice        = pobjCampo.selectedIndex;
    }
    
    strLocalizarItemComboValor        += String.fromCharCode( pobjkeyCode );
    
    for( intContador = 0; intContador < pobjCampo.length; intContador++ ){
        
        if( pobjCampo.options[ intContador ].text.substring( 0 , strLocalizarItemComboValor.length ).toUpperCase( ) == strLocalizarItemComboValor.toUpperCase( ) ){
            
            pobjCampo.selectedIndex                        = intContador;
            strLocalizarItemComboIndice                    = intContador;
            intContador                                    = pobjCampo.length;
            lSucesso                                    = true;
        }
    }
    
    if( lSucesso == false ){
        
        strLocalizarItemComboValor = strLocalizarItemComboValor.substring( 0 , strLocalizarItemComboValor.length - 1 );
    }
    
    event.returnValue    = '';
    event.keyCode        = null;
}


function LocalizarItemCombo( pobjCampo , pobjkeyCode ){

var intContador        = 0;
var lSucesso        = false;
    
    if( pobjCampo.selectedIndex != strLocalizarItemComboIndice ){
        
        strLocalizarItemComboValor        = "";
        strLocalizarItemComboIndice        = pobjCampo.selectedIndex;
    }
    
    strLocalizarItemComboValor        += String.fromCharCode( pobjkeyCode );
    
    for( intContador = 0; intContador < pobjCampo.length; intContador++ ){
        
        if( pobjCampo.options[ intContador ].text.substring( 0 , strLocalizarItemComboValor.length ).toUpperCase( ) == strLocalizarItemComboValor.toUpperCase( ) ){
            
            pobjCampo.selectedIndex                        = intContador;
            strLocalizarItemComboIndice                    = intContador;
            intContador                                    = pobjCampo.length;
            lSucesso                                    = true;
        }
    }
    
    if( lSucesso == false ){
        
        strLocalizarItemComboValor = strLocalizarItemComboValor.substring( 0 , strLocalizarItemComboValor.length - 1 );
    }
    
    event.returnValue    = '';
    event.keyCode        = null;
}

</script>
<SELECT style="WIDTH:90%" name="UNID_VENDA" onKeyPress="LocalizarItemCombo( this , event.keyCode )">
                                    <OPTION value="">-- Selecione uma opção --</OPTION>
                                    <option value="amarelo">amarelo</option><option value="azul">azul</option><option value="verde">verde</option><option value="preto">preto</option><option value="rosa">rosa</option><option value="marronl">marron</option><option value="laranja">laranja</option><option value="Preto">Preto - </option><option value="roxo">roxo</option><option value="branco">branco</option>
                                </SELECT>

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...