AutoComplete
Possuo o seguinte codigo
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0054)http://conteudo.imasters.com.br/3629/autocompletar.htm -->
<HTML><HEAD><TITLE>AUTO COMPLETAR</TITLE>
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
<STYLE>INPUT {BORDER-RIGHT: #666666 1px solid; BORDER-TOP: #666666 1px solid; FONT-SIZE: 11px; BORDER-LEFT: #666666 1px solid; COLOR: #000000; BORDER-BOTTOM: #666666 1px solid; FONT-STYLE: normal; FONT-FAMILY: Verdana; BACKGROUND-COLOR: #ffffff
}
</STYLE>
<META content="MSHTML 6.00.2900.2912" name=GENERATOR></HEAD>
<BODY text=black vLink=purple aLink=red link=blue bgColor=white>
<TABLE height="100%" cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD vAlign=top align=middle>
<H3 align=center> </H3>
<H3 align=center> </H3>
<H3 align=center></H3>
<H4 align=center>AUTO COMPLETAR</H4>
<FORM name="" action="detalhe.asp" method=post><TABLE class=BordaTable cellSpacing=0 cellPadding=8 width=443 align=center
border=1>
<TBODY>
<TR>
<TD align=middle width=427><p>Digite a Origem que procura:
<INPUT name=Tcodigos id=textbox1 onkeyup=checkList(this,arvore) size="100">
</p>
<p>Digite o Destino que procura:
<INPUT name=Tcodigos1 id=textbox2 onkeyup=checkList(this,arvore) size="100">
</p>
<p align="right">
<input type="submit" name="button" id="button" value="Enviar">
</p></TD></TR></TBODY></TABLE>
<p>
<%Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Inetpub\wwwroot\MC\AutoTeste\bd1.mdb;"
Set RS = Server.CreateObject("ADODB.Recordset")
%>
<%
SQLStmt = "SELECT * FROM TB_Latitudes"
RS.Open SQLstmt,Conn
%>
<% While Not RS.EOF %>
<% semAcento = semAcento & "'" & rs ("semAcento") & "'" & ", "%>
<%
RS.MoveNext
Wend
RS.close
%>
<script>
[b]var arvore = new Array(<%=semAcento%>"");[/b][i][/i][u][/u][i][/i]
document.write('<style type="text/css">'+
'#listHolder{position:absolute;border:0;}'+
'.list{font-family:verdana;font-size:10;color:#000000;background:;}'+
'<\/style>')
function checkList(obj,nStr) {
var k = event.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>
</p>
</FORM>
</TR>
</TBODY>
</TABLE>
</BODY>
</HTML>
Quando a tabela tem 100 registros ele funciona normal, mais com mais que isso ele da erro na linha em destaque.
Obs: tenho 5000 registros.
Ajudem por favor!
agradeços desde já.
Discussão (7)
Carregando comentários...