AutoComplete do que a pessoa digita

Bom dia, gostaria de saber se no fluig tem alguma opção de autoComplete para quando a pessoa digita. Exemplo; gravar o que ela digitou anteriormente, ai nao precisa digitar novamente tudo de novo Tentei usando o codigo abaixo, mas ele pega os nomes dos usuarios, em vez de pegar o que o usuario digitou anteriormente no formulario


jQuery(function($){   //$(function(){         

    var source = []; 
    var campos = ["colleagueName", "mail"]; 
    var dataset = DatasetFactory.getDataset("colleague", campos, null, null);

    for (var i = 0; i < dataset.values.length; i++) { 
        var cod = dataset.values[i].colleagueName; 
        source.push(cod.toString()); }

    var myAutocomplete = FLUIGC.autocomplete('#idBancoR', { 
        source: substringMatcher(source), 
        name: "nomes",
        displayKey: "description", 
        highlight: !0, 
        type: "autocomplete" });
});


function substringMatcher(strs) { 
    return function findMatches(q, cb) { 
        var matches, substrRegex;

matches = [];

substrRegex = new RegExp(q, 'i');

$.each(strs, function(i, str) { 
    if (substrRegex.test(str)) { 
        matches.push({ 
            description: str }); 
} 
}); 
cb(matches); 
}; 
}

Já tentou especificar na tag form o atributo autocomplete="on" ? É um atributo do HTML5 que acredito que possa te ajudar.

Ola Gustavo, tentei isso ai e não deu certo, tem que usar alguma biblioteca do jquery?
O que consegui foi isso aqui…

jQuery(function($){
var states = [
‘BANCO DO BRASIL’, ‘BANCO DO NORDESTE’
]

              var myAutocomplete = FLUIGC.autocomplete('#idBancoR, #idContaR', {
                 source: substringMatcher(states),
                     name: 'cities',
                     displayKey: 'description',
                     tagClass: 'tag-gray',
                     type: 'tagAutocomplete'
       });

});

O que eu falei só funciona a partir do momento que o usuário já digitou um dos valores. Digamos que ele digitou BANCO DO BRASIL em algum momento no campo, a partir dos próximos ele vai autocompletar com BANCO DO BRASIL. Se o que você quer está relacionado a um dataset específico, aí só utilizando o autocomplete. Caso os valores sejam fixos no entanto você pode utilizar o atributo data-list do HTML5 em um campo de combo.

Veja: W3Schools Tryit Editor

eu queria que o usuario digitasse algo (ex; Banco do Brasil) e na proxima vez que ele iniciasse uma solicitação, quando começar a digitar a mesma coisa, ex; ba ai ja mostrasse Banco do Brasil como opção para preencher o campo.

Mas neste caso o autocomplete=“on” da tag form deveria funcionar corretamente. Está utilizando que navegador?

usei o chrome, deixei assim < form name=“form” role=“form” autocomplete=“on” >
e nao deu certo na versao 1.6 do fluig

Bom, fiz um teste em local, o que acontece é que como o fluig não submete o próprio form, o HTML em si não reconhece que aquele campo foi submetido, porém ele é recuperado corretamente se o campo for editado.

Faz o seguinte teste

com um formulário simples com um unico campo com a tag form com autocomplete=“on” insira um registro de formulário pelo GED mesmo.

Depois edite este registro, pressione editar e não faça mais nada, apenas feche.

Se você for inserir um segundo registro de formulário, o campo do primeiro aparece para autocompletar.

Acredito que seu problema está na lista de comparações do seu String Macher, estou passando um exmplo que fiz e funciona.

Criação do autocomplete


       var autoComplete = FLUIGC.autocomplete(id, {
        source: substringMatcher(getItens()),
        minLength: 3,
        maxTags: 1,
        tagMaxWidth: 200,
        displayKey: 'nome',
        tagClass: 'tag-gray',
        type: 'tagAutocomplete'
    });

Método para preenchimento:


function substringMatcher(list) {
    return function findMatches(q, cb) {
        var matches = [], substrRegex = new RegExp(q, 'i');   

        $.each(list, function(i, item) {
            if (substrRegex.test(item.colleagueName) || substrRegex.test(item.login)) {
                matches.push({
                    id: item.login,
                    nome: item.login +" - "+ item.colleagueName
                });
            }
        });
        cb(matches);
    };
}

Método para carregamento dos registros do autocomplete:


function getItens() {
    var ds = DatasetFactory.getDataset("colleague", null, null, null);
    return ds.values;
}

No código específicado foi criado um autocomplete com uma função de source, a qual realiza o string macher para o auto complete. Esse string macher será preenchido com os valores que a função getItens() retornar (Precisa ser um retorno JSON como os valores de um DataSet). Para a exibição/busca será mostrado o conteúdo do parametro nome no string macher.