Como mudar os campos do formulário mediante escolha do usuário no combobox.
11/11/2014 10:06
0
Fala aí, galera, tudo na paz?

O buxo desse vez é o seguinte:

Estou com um Domain Documento, que tem relação com a classe Pessoa.

Na classe documento, tenho o campo tipo de pessoa, que indica se a pessoa é Física ou Jurídica. Quero mostrar na view, apenas os atributos que correspondem a cada tipo de pessoa.

Por exemplo, o usuário selecionar no combobox Pessoa Física, então mostro o campo com 11 dígitos, para que então se possa cadastrar o cpf. Caso ele escolha Pessoa Física, mostro então os campos de Nome Fantasia, CNPJ e etc. Tudo que tenha a ver com pessoa física.

Acredito que se deva usar ajax para realizar uma requisição assíncrona, para mudar o form de forma dinâmica.

Alguém tem um exemplo de como implementa-se essa funcionalidade. Desde já agradeço. Abraço.


Tags: ajax


0
Ops, no segundo exemplo é Pessoa Jurídica. srssrsr
11/11/2014 10:11


0
Uma busca simples no Google traria alguns resultados bastante satisfatórios. Em todo o caso dá uma olhada no comando remoteFunction() que é, não a única, solução bastante simples e funcional para o seu problema.

Att,


0
Olá Yure,

Neste caso, se você quiser mudar apenas quais campos são exibidos na interface, a tecnologia a ser utilizada será o Jquery básico. O AJAX deve ser utilizado para realizar requisições assíncronas entre o cliente e um servidor.

Portanto a primeira coisa que você deve fazer é inserir o Jquery na sua página com o comando:
<g:javascript library="jquery" />
(Lembrando que o Grails já possui o Jquery instalado).

A seguir defina um checkbox qualquer e um campo que você deseja mostrar:


<g:checkBox name="check" />
<g:field name="cpf" type="number" required=""/>


Adicione este código CSS para fazer com que o campo cpf desapareça:

#cpf{
display: none;
}


Para finalizar, adicione o seguinte código javascript para mostrar ou esconder o campo na medida em que o checkbox muda:

 
<g:javascript>
$("#check").change(function(e) {
if ($(this).is(":checked")){
//$('#checkInvoiceId').removeClass();
$('#cpf').show();
} else {
$('#cpf').hide();
};
});
</g:javascript>


Acho que é isso.
Att,

André Cruz.
11/11/2014 11:00



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto