Ir para conteúdo

Arquivado

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

PRWEB

Autocomplemento buscando por qualquer palavra

Recommended Posts

Boa tarde tudo bem?

 

Estou com uma dúvida referente a fazer um autocompletar a partir da hora que digitar uma palavra que esteja no meio.

Exemplo: CONDOMÍNIO EDIFICIO GRANDE LAZER.

 

Se eu digitar GRANDE ou LAZER ele busca também essas informações.

 

Tem como fazer isso?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poderia me ajudar?

Eu estou utilizando essa função:

 <input name="fantasia" class="forma_pag12" id="fantasia" onblur="remFinal(this.value,this)" onkeyup="checkList1(this, arvore1, event);Muda(this);" value="<%=fantasia%>" size="50" />
                                          <% While Not filtro1.EOF %>
                      <%
fantasia = fantasia & "'" & filtro1 ("fantasia") & "'" & ", "

filtro1.MoveNext
Wend
'filtro.close
%>
                    <script>
var arvore1 = new Array(<%=fantasia%>"");

document.write('<style type="text/css">'+
'#listHolder{position:absolute;border:0;}'+
'.list{font-family:Tahoma;font-size:12;color:#000000;background:#CCCCCC;}'+
'<\/style>')

function checkList1(obj,nStr, e) {

var k = (window.Event) ? e.which : e.keyCode;
var T = findPosY(obj); //top
var L = findPosX(obj); //left
var list = document.getElementById('listHolder');

if(!list) {
var list = document.createElement('DIV');
list.id = 'listHolder';
document.body.appendChild(list);
}

list.style.top=(T+obj.offsetHeight);
list.style.left=L;
list.style.display='none';

var txt=obj.value;

if (txt) {
var str='<select class="list"'+
'onclick="setOption(\''+obj.id+'\',this.options[this.selectedIndex].value)"'+
'onkeyup="if(event.keyCode==13){setOption(\''+obj.id+'\','+
'this.options[this.selectedIndex].value)};if(event.keyCode==27){'+
'document.getElementById(\'listHolder\').style.display=\'none\';'+
'document.getElementById(\''+obj.id+'\').focus()};" id="selector" size="6">'
var match=false
for(a=0;a<nStr.length;a++){

if(txt.toLowerCase()==nStr[a].toLowerCase().substring(0,txt.length)){
match=true
str+=('<option value="'+nStr[a].replace(/\'/gi,'’')+'">'+nStr[a]+'</option>')
}
}

str+='</select>'
if(match){
list.innerHTML=str
list.style.display='block'
var sel=document.getElementById('selector')
if(k=='40') {
sel.focus()
}

if(k=='13'){
document.getElementById('listHolder').style.display='none'
}
}
}
}

function setOption(obj,val){

var obj=document.getElementById(obj)

obj.value=val;
obj.focus()
document.getElementById('listHolder').style.display='none'
}

function findPosX(obj){
var curleft=0;
if(obj.offsetParent) {

while(obj.offsetParent){
curleft+=obj.offsetLeft
obj=obj.offsetParent;
}
} else if(obj.x)
curleft+=obj.x;
return curleft;
}

function findPosY(obj){
var curtop=0;
if(obj.offsetParent){
while(obj.offsetParent){
curtop+=obj.offsetTop
obj=obj.offsetParent;
}
} else if(obj.y)
curtop+=obj.y;
return curtop;
}
</SCRIPT> 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vc vai ter que colocar um

LIKE field = '%palavra%'
no teu sql. Não manjo de ASP... dá uma perguntada lá como faz o LIKE com %%

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá

Então, eu já utilizo o like.

O que quis dizer é assim, conforme vou digitando vai aparecendo o nome no campo.

Tipo se no meio do nome da empresa tem PAULO então ele vai me mostrando tudo que tem PAULO.

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.