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

[Resolvido] Array javascript mais ASP


marvi

Pergunta

Pessoal, tenho esse array:

Se quiserem pode ver ele rodando: http://www.ideiabiz.com/completar.htm

<INPUT id=textbox1 
onkeyup=checkList(this,arvore) name=Tcodigos size="20"> </TD></TR></TBODY></TABLE>
<script> 
var arvore = new Array("abcdefghije",
"aTestando!!!!",
"ahahaha",
"atesteee",
"abc", "abt",
"acd", "aaaaat",
"agoogle.com",
"aimasters.com.br",
"A_vitor",
"ateste",
"ajavascript",
"autocompletar",
"asp",
"aaaaaaaaaaaaaaaa",
"a");
E todos podem ver uma lista aí...Como faço então para essa lista do array vim do banco de dados? Tentei algo assim mas não deu:
<input id=textbox1 onkeyup=checkList(this,arvore) type="text" name="busca" size="36" style="font-family: Verdana; font-size: 10 px; color: #3A5278; border: 1px solid #3A5278; background-color:#EEEEEE"><font face="Verdana" style="font-size: 8pt" color="#2A2A2A">
</font>

<script> 
var arvore = new Array("<% do while not rsloja.eof %> <%=rsloja("nome")%>" <% rsloja.MoveNext loop%>);
Para quem quer ver o código todo, segue:
<INPUT id=textbox1 
onkeyup=checkList(this,arvore) name=Tcodigos size="20"> </TD></TR></TBODY></TABLE>
<script> 
var arvore = new Array("abcdefghije",
"aTestando!!!!",
"ahahaha",
"atesteee",
"abc", "abt",
"acd", "aaaaat",
"agoogle.com",
"aimasters.com.br",
"A_vitor",
"ateste",
"ajavascript",
"autocompletar",
"asp",
"aaaaaaaaaaaaaaaa",
"a");

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>
</FORM>

Obrigado!

Marcelo

Editado por marvi
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

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,3k
    • Posts
      652,2k
×
×
  • Criar Novo...