Pessoal,
Estou precisando realizar algumas validações após selecionar um item em um zoom mas não gostaria de fazer dentro da função setSelectedZoomItem. Tentei utilizar o evento "blur" e "change" mas não funcionou.
$("#nmCliente").on('blur', function () { ....
$("#nmCliente").on('change', function (e) { ....
Sabem me dizer como posso resolver isso?
E também precisava passar um parâmetro (constraint) para o dataset customizado que estou utilizando neste zoom, mas não encontrei nenhuma propriedade para fazer. É possível fazer?
Muito obrigado. Abrs.
Marcos, pq você não quer utilizar o setSelectedZoomItem?
Olá Marcos,
Esses são os eventos suportados pelo campo ZOOM para a versão 1.5.X
fluig.autocomplete.cursorchanged
fluig.autocomplete.opened
fluig.autocomplete.closed
fluig.autocomplete.selected
fluig.autocomplete.filterd
fluig.autocomplete.beforeItemAdd
fluig.autocomplete.itemAdded
fluig.autocomplete.beforeItemUpdate
fluig.autocomplete.itemUpdated
fluig.autocomplete.beforeItemRemove
fluig.autocomplete.itemRemoved
fluig.autocomplete.maxTags
fluig.autocomplete.focus
fluig.autocomplete.blur
fluig.autocomplete.loadComplete
A chamada deve ser da seguinte forma:
$("#nmCliente").on('fluig.autocomplete.blur ', function () {...});
Vale lembrar que para funcionar a declaração do evento deve ser realizada após o carregamento do campo, que ocorre no ready, logo deverá ser realizada na chamada:
$(window).load(function(){...});
Se for uma tabela paixfilho, deverá ser chamada a cada inserção de linha e passar o name ou atributo para a função.
Se a versão do Fluig for 1.6.X, poderá utilizar a documentação do link abaixo, pois não consegui utilizar esses eventos acima.
Documentação Select2
Espero ter ajudado.
Abraços
Bom dia Marcos, tudo bem?
Este exemplo que você passou é para o autocomplete, estou utilizando campo type=“zoom” e os parâmetros no “data-zoom”.
De qualquer forma muito obrigado pelo exemplo.
Abrs.
Pode utilizar que dá certo. No script de zoom que é implementado no cabeçalho do formulário estão contidos todos esses eventos, sendo diferente do filter.
Eu utilizo para zoom esses eentos e funciona corretamente.
Tentei utilizar
`$(window).load(function(){
$("#nmCliente").on('fluig.autocomplete.itemAdded', function () {
alert();
});
});`
Mas não deu certo. Esqueci de algo?
Qual a versão do seu Fluig, Marcos? Está correto.
Você está linkando o css e js do filter no seu formulário?
A versão é a 1.6.1.
Sim, os dois estão adicionados:
Então Marcos, a partir da versão 1.6.x não consegui fazer esses eventos funcionar. Porém consegui fazer funcionar de acordo com o link que disponibilizei acima. A TOTVS utilizou a biblioteca Select2 para reconstruir o zoom e desta forma os eventos disponibilizados nessa biblioteca, funciona para o zoom. Eu testei e funcionou aqui na versão 1.6.x
Estranho porque eu tentei estes também. No load:
$("#nmCliente").on('change', function (e) {
alert();
});
$("#nmCliente").on('change.select2', function (e) {
alert();
});
$("#nmCliente").on('change', function (e) {
alert();
});
$("#nmCliente").on('change', function (e) {
alert();
});
Tente assim:
$(window).load(function(){ $(“#nmCliente”).on(‘change.select2’, function () { alert(); }); });
Nada, já estou desistindo. rsrs
Marcos, impossível isso. Hahahah
Compartilha comigo o seu código par poder te ajudar, pode ser?
Marcos@ecp.org.br
Manda o código do seu formulário e js.
@Marcos, tente dessa forma:
$(window).on('change', "#nmCliente", function () {
alert();
});
@Marcos, acertando minha resposta. No lugar de window é document
$(document).on('change', "#nmCliente", function () {
alert();
});
Bom dia @Gabriel. Essa segunda forma funcionou! Muito obrigado!
@Marcos,
Complementando a resposta do @Marcos Michalski, tente utilizar esse código:
$(document).on('change', "#nmCliente", function () {
alert();
});