Opa,
me desculpe manthay, mas não consegui entender nada no seu post. Tem como você se expressar melhor? Qual é exatamente o problema?
Bom, realmente ficou meio confuso Brother! Mas pelo que entendi:
- Existe no formulario as opção "CI" e "Comunicado", quando um usuário escolher uma dessas opções acontece determinada ação.
- Se o usuário escolher a opção CI, deverá aparecer nesse formulários determinados campos(Isso dá pra fazer com javascript puro, com jQuery é facinho)
- Se o usuário escolher a opção Comunicado, aparecerá ou terá provavelmente outro comobobox no formulario com as opções de marca e quando clicar via ajax ele busca todos modelos associados á marca e deve preencher outro combobox ou aprensentar na tela.
vamos la!
na minha tela eu tenho uma lista suspensa nesta lista contem duas opções CI e comunicado.
se eu escolher CI o campo "local de envio" deve ser desativado pois nao vai necessitar de diser para qual local vai ja que essa CI, pois tera um destinatario e ira apenas para uma pessoa.
Caso a opção for "comunicado", o campo "destinatario" deve ser desativado e ativa o campo "local de envio"
espero te melhorado meu modo de expressão !
desde ja grato.
entao da uma olhada se estou fazendo certo tem uma parte de auto complete junto
<g:javascript src="ui/jquery.ui.core.min.js"/>
<g:javascript src="ui/jquery.ui.widget.min.js"/>
<g:javascript src="ui/jquery.ui.position.min.js"/>
<g:javascript src="ui/jquery.ui.autocomplete.min.js"/>
<resource:richTextEditor type="advanced" />
<script language="javascript" >
$().ready( function() {
$( ".destinatario" ).autocomplete({
source: function( request, response ) {
$.ajax({
url: "${createLink(controller:'fisicaContratoRel', action:'searchAjax')}",
dataType: "json", data: { q: request.term,bso:775},
success: function( data ) {
response( $.map( data, function( item ) {
return { label: item.desc, value: item.desc, id: item.id }
}));
}
});
}, minLength: 2, select: function( event, ui ) { $(this).next().val(ui.item.id); }
});
});
$('#tipo').change(function(){
if($(this).val() == "ci") {
$('#local').attr('disabled','disabled');
} else if($(this).val() == "comunicado"){
$('#local').removeAttr('disabled');
$('#destinatario').attr('disabled','disabled');
}
});
</script>
<g:select name="tipo" id="tipo" from="${comunicacaoInternaInstance.constraints.tipo.inList}" value="${comunicacaoInternaInstance?.tipo}" valueMessagePrefix="comunicacaoInterna.tipo" />
<g:select style="width:35%" class="bso" id="local" noSelection="['':'']" name="destinoComunicado.id" from="${brvidas.PontoEstoque.getAllByFuncionario(request.funcionario)}" optionKey="id" value="${comunicacaoInternaInstance?.destinoComunicado?.id}"/>
"aqui estou usando o auto complete"
<input type="text" style="width:501px" id="destinatario" class="destinatario" value="${comunicacaoInternaInstance?.destinatario?.fisica?.nome}" />