• dmsAutoComplete v1.1

    by  • August 9, 2006 • ajax, Javascript, PHP, Web 2.0, XML

    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.

    This post is also available in: Inglês

    About

    Rafael Dohms is a PHP Evangelist, Speaker and contributor. He is a very active member of the PHP Community, having helped create and manage two PHP User Groups in Brazil. He shared the lead of PHPSP for 3 wonderful years making a positive mark on the local market. Developer, gamer and lover of code he also hosts Brazil’s first PHP Podcast: PHPSPCast, as well as contributing to well known projects. He moved to the Netherlands in search of new challenges and is now part of the team at WEBclusive, sharing his passion for quality code and working on new awesome ideas with the team. You can always find him at the nearest Community events, speaking, sharing, talking or just learning from the rest.

    http://doh.ms