Autor Tópico: Autocomplete preenchido no onChange de outro campo  (Lida 907 vezes)

Pedro Mikosz

  • Novato
  • *
  • Mensagens: 19
Autocomplete preenchido no onChange de outro campo
« Online: Janeiro 15, 2015, 08:33:57 am »
Fala galera,

Tive problemas em encontrar uma solução para preencher um campo autocomplete no onChange de outro campo, buscando aqui no fórum vi muitas pessoas com o mesmo problema e sem solução.

Eu encontrei uma solução e venho aqui compartilhar com todos.

Meu caso:
Inclusão de itens de uma Nota Fiscal(produtos) em um form Grid Editável(view).
campos: {idProduto}, {idUnidade}, {valor}, {quantidade}.

Criei o campo {descricao} que será meu autocomplete, no meu caso não armazeno ele no Banco pois o idProduto é o suficiente para mim.
Criei o campo {linha} que recebe no onLoadRecord o número da linha pela variável "$sc_seq_vert";

Método Javascript:
Define o nome como "defineDescricao" com dois parâmetros($desc, $linha). Os nomes dos parâmetros falam por si.

document.getElementById("id_sc_field_descricao_"+linha).value = desc; // "id_sc_field_descricao_X" essa é a ID do campo Autocomplete onde X é a linha da Grid Editável.
document.getElementById("id_ac_descricao_"+linha).value = desc; // "id_ac_descricao_X"  essa é a ID do campo Autocomplete que fica Oculto onde X é a linha da Grid Editável.

Evento onChange do campo {idProduto}:

sc_lookup(des,"SELECT descricao FROM produtos WHERE id = {idProduto}");

// Call javascript function
$a = {des[0][0]};
$b = {linha};
sc_ajax_javascript('defineDescricao', array($a, $b));

Obs: Como o campo Autocomplete não grava no Banco devo colocar no evento onLoadRecord o valor inicial do campo:

sc_lookup(des,"SELECT descricao FROM produtos WHERE id = {idProduto}");
{descricao} = {des[0][0]};


Já fui muito ajudado aqui no Fórum e por isso estou tentando ajudar também. É a minha primeira contribuição galera, críticas e melhorias a solução apresentada são bem vindas.

Willian Fernando

  • Expert
  • *****
  • Mensagens: 1149
  • .....
    • Email
Re:Autocomplete preenchido no onChange de outro campo
« Responder #1 Online: Janeiro 15, 2015, 08:42:09 am »
Obrigado por compartilhar com todos...

FredKeyster

  • Expert
  • *****
  • Mensagens: 1702
  • DEWENNINMEN
    • Email
Re:Autocomplete preenchido no onChange de outro campo
« Responder #2 Online: Janeiro 15, 2015, 10:49:51 am »
Parabéns Pedro Mikosz! Compartilhar sempre é bom, pra todos! Abraço.
F. A.
Analista de Sistemas