Obter item selecionado no select no controlador
20/01/2012 21:02
0
Oi galera, é o seguinte, tenho um remoteField que executa uma determinada busca.
Buscar Obras Por Titulo: <g:remoteField controller="livro" action="getDisponiveisPorTitulo" update="livrosDisponiveis" name="livros"/>

Porém, preciso fazer essa busca seguindo critérios que serão selecionados a partir de um select.
<g:select id="busca" name="busca" from="${['Titulo', 'Subtitulo']}"></g:select>

Por exemplo, se o usuário escolher no select a opção Titulo, e começar a digitar no remoteField ele chama a seguinte ação:

def getDisponiveisPorTitulo(){
if(select == "Titulo"){
def livros = Livro.findAllByStatusAndTituloLike("Aprovado", params.value+"%")
}else{
def livros = Livro.findAllByStatusAndSubtituloLike("Aprovado", params.value+"%")
}
render(view: "getLivros", model: [livroInstanceList: livros])
}


onde "select", seria o select do meu gsp, logo preciso compará-lo a uma string, no caso "Titulo". Portanto, como obtenho o valor selecionado no select dentro do controller?

Desde ja, agradeço.
Tags: obter valor select remotefield


0
não intendi muito bem será que é essa sua duvida?


você esta pegando uma string ou um id na tela?

se for uma string apenas params.busca // o nome que voce colocou no name

se for um id esta faltando um optionKey="id" no seu <g:select>

24/01/2012 16:15


0
Ja havia tentado assim:

def getDisponiveisPorTitulo(){
if(params.busca == "Titulo"){


porém não deu certo...

Como ficaria com o optionKey="id"?

Desde ja agradeço.
24/01/2012 19:05


0
Andrei,

1 - O teu select está dentro de um Form, e você está dando um submit.
2 - tire aquele id="busca" do teu select
3 - para pegar o valor do select faça o seguinte no controller
def recebeSelect = params.busca
daí que você manipula a variável da mameira que quizer:

def getDisponiveisPorTitulo(){
if(recebeSelect == "Titulo"){
def livros = Livro.findAllByStatusAndTituloLike("Aprovado"

4 - qualquer dúvida consulte a documentação sobre select:
http://www.grails.org/doc/latest/ref/Tags/select.html
30/01/2012 16:37



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