<!DOCTYPE html>
<html>
<head>
<title>Caixa de Sugestao - Lista Ordenada por Alfabeto</title>
<style>
.campo
{
color:#333;
width:320px;
height: 32px;
border:1px solid #ccc;
font-family: "tahoma";
font-size: 11pt;
text-vertical:top;
padding:7px 5px 7px 5px;
float:center;
}
.dicas
{
width: 320px;
margin: 0 auto;
position: relative;
max-height: 100px;
border: 1px solid #999;
background-color: #fff;
overflow:auto;
}
</style>
<script>
<!--// Bloco 1 - rotina 2 em 1 - Validar Campo & Exibir/Fechar Div //-->
function validar(){
document.getElementById('1').style.display='block';
if(document.getElementById('txt').value.length < 1){ //Esta linha ira validar se uma tecla foi pressionada dentro do campo
document.getElementById('1').style.display= "block";
document.getElementById('txt').focus();
return false
}
document.getElementById('1').innerHTML = "";
}
<!--// Bloco 2 - Listagem de Nomes - Ordenada por Letras do Alfabeto //-->
function lista(){
letras = ["Alex","Adrian","Adriano","Alexander","Alessandro","Ana","Aline","Ãgata","Alice","Amanda","Bryan","Breno","Bruno","Bernardo","Benjamin","Bruna","Belisa","Brenda","Bárbara","Beatriz","Caio","Cauê","Cauã","Carlos","Cléber","Carol","Clara","Camila","Carolina","Clarissa","David","Diego","Diogo","Danilo","Daniel","Dalila","Diana","Débora","Daniela","Eduardo","Elvis","Emanuel","Edson","Enzo","Eliza","Ãrica","Estela","Eduarda","Elizabeth","Felipe","Fábio","Fabiano","Francisco","Fernando","FelÃcia","FabÃola","Filipa","Flávia","Fabiana","Gabriel","Gustavo","Giovanni","Guilherme","Gregório","Gabriela","Giulia","Gisela","Graziela","Gabriele","Hugo","Hélio","Heitor","Hércules","Henrique","Helena","HeloÃsa","Igor","Inácio","Ivan","Ian","Iago","Ãris","Iara","Isa","Isadora","Isabel","Joaquim","Jonathan","José","jonas","joão","Jéssica","Joyce","Júlia","Juliana","Kevin","Kaio","Kelvin","Karina","kethlen","karen","kelly","Lucas","Leandro","Luciano","Lúcio","LÃvia","Lis","Lilian","LetÃcia","Larissa","Matheus","Marcos","Miguel","Michel","Manuel","Marina","Mariana","Melissa","MarÃlia","Micaela","Natanael","Nicolas","Natan","Nataniel","Nilton","Nara","Nina","Núbia","Natacha","Oliver","Otávio","Orlando","OlÃvia","Pedro","Paulo","Pablo","Paula","Pietra","Priscila","Paloma","PatrÃcia","Rafael","Ricardo","Rodrigo","Rômulo","Ronaldo","Reinaldo","Rafaela","Rúbia","Raquel","Rita","Rebeca","Samuel","Sérgio","Santiago","Sabrina","Serena","Sara","Sofia","Samara","Tiago","Tomás","Túlio","Theo","Thiago","Tabita","Tamara","TaÃs","Tamires","Talita","Ulisses","Umberto","Ueber","Victor","VinicÃus","Vagner","Violeta","Vitória","Valesca","Vanessa","ValquÃria","Wanessa","Walter","Wilton","Yudi","Yuri","Yago","Yan","Yara","Yohana","Yasmin","Zoe"];
letras.sort();
alfabeto = letras.filter(function(el){
campo = document.getElementById('txt').value;
regex = new RegExp('^'+campo+'.*','i');
return el.match(regex);
});
<!--// Percorrendo os elementos do Array, apos digitar a letra desejada //-->
<!--// Sera montada a tabela dinamica com os resultados dentro da Div //-->
for (var i in alfabeto){
tabela = document.getElementById('1');
tabela.innerHTML += "<table width='100%'><tr><td>"+ alfabeto[i] +"</td></tr></table>";
}
}
<!--// Bloco 3 - Selecionar Linha da Tabela - Dando Cor ao Fundo da Linha ao Passar o Mouse //-->
window.onmouseover=function(){
td = document.getElementsByTagName('td');
for(i in td){
td[i].onmouseover=function(){ preto =this.style.backgroundColor='#999999'; document.getElementsByTagName('td') = preto }
td[i].onmouseout=function(){ branco =this.style.backgroundColor='#fff'; document.getElementsByTagName('td') = branco }
td[i].onclick=function(){ valor = this.innerHTML; document.getElementById('txt').value = valor; alert( "Oi " + valor + ", tudo bem!");}
}
}
</script>
</head>
<body>
<h2>Indice de Nomes</h2>
<h3>Lista de Nomes de A a Z</h3>
<h4>Digite uma letra abaixo:</h4>
<center>
<input onkeypress="validar()" class="campo" id="txt" value="" onkeyup="lista()" type="text">
<div id="1" class="dicas" style="display: none;" onclick="this.style.display='none';"></div>
</center>
</body>
</html>