dmsAutoComplete v1.1
- ajax, Javascript, PHP, Web 2.0, XML
- August 9, 2006
Publiquei hoje a atualização do meu script de auto-complete (google suggest) compatível com IE e FireFox e baseado em PHP/AJAX.
Depois de publicar a primeria versão do script e com a ajuda de alguns usuários que fizeram testes e utilizaram o script, encontrei algusn errinhos simples nele. Portanto sentei estes dias para achar algumas soluções e agora estou publicando a versão 1.1. Confira algumas das mudanças a seguir neste post.
FIX: Apertar TAB/ENTER sem nada selecionado gera erro Sempre ao apertar TAB/ENTER sem nenhum valor da lista selecionado o script gerava um erro pois não achava o dado referente, isto foi resolvido com um flag que ignora este comando no caso de nada estar selecionado, apenas esconde o DIV.
if (me.highlighted.id != undefined){ me.acChoose(me.highlighted.id); }
CSS: Quebras de linha no FireFox Quem usou o FireFox verificou que ao gerar a lista no Firefox no primeiro momento todos itens apareciam em uma linha só, ao contrário de um embaixo do outro, uma adaptação do CSS no estilo do LI resolveu este problema.
#acDiv UL LI{ display:block;}
FEATURE: Adicionar múltiplos auto-completes em uma página Devido a forma de referenciar o objeto usada em um ponto do script, se tornava impossível alterar o nome da váriavel que recebe o auto-complete e com isso impossível adicionar mais de um na mesma página. Com uma adaptação desta sintaxe agora é possível adicionar múltiplos AC na pagina, veja exemplo:
var AC = new dmsAutoComplete('string','acDiv'); AC.chooseFunc = function(id,label){ alert(id+'-'+label); }
var AC2 = new dmsAutoComplete('string2','acDiv2'); AC2.chooseFunc = function(id,label){ alert(id+'-'+label); }
A versão 1.1 do script se encontra no mesmo link da versão antiga:
Quem quiser saber mais sobre o histórico do script veja o link aqui
Quem achar este script útil, e utilizá-lo em alguma solução, deixe um comentário, um grito, mande um sinal de fumaça, mas dê seu apoio, vote e envie sugestões, reclamações, enfim manifeste-se, todas interações são bem-vindas.