ComboBox

9 respostas
Lucas_Sorrentino

Acredito ja ter visto essa questão aqui no forum em algum lugar, mas não consegui encontrá-la de novo… se estiver repetindo a pergunta(o que provavelmente está acontecendo), me desculpem…

O meu problema é o seguinte… tenho um formulário com 3 combobox. Até aí tudo bem, ele inclui sem problemas. Minha questão é na hora de editar esse formnulário. Quando abro a página, todos os dados vem preenchidos para edição, menos as combobox, que vem com a primeira opção de cada… existe alguma maneira dessas combobox virem populadas com o resultado salvo anteriormente?

9 Respostas

Lucas_Cavalcanti

se vc estiver usando o vraptor, é só dar um forward pra lógica do formulário, ao invés de usar um page()).of

Lucas_Sorrentino

Bem, nesse caso eu não estou o page.of… estou chamando o método edita, que chama minha jsp de edição… eu uso um
return dao.carrega(id);

Lucas_Cavalcanti

ah tah, entendi sua dúvida agora…

na hora de mostrar as combos, vc vai ter que fazer algo do tipo:

<c:forEach .... var="item">
    <option ${item.id eq caraQueVeioDaLogica.id ? 'selected="selected" : ''}>item.value</option>
</c:forEach>
Lucas_Sorrentino

cara, digamos que eu entendo mais ou menos… o meu código está assim:

<select name="cliente">  
			<option value="">--Cliente--</option>  
  				<c:forEach var="cliente" items="${clientes}">   
   				 <option value="${cliente.id}">${cliente.codigo}-${cliente.descricao}</option>   
  				</c:forEach>   
		</select>

onde exatamente eu faço essa mudança… fiz o que vc disse, retirando o value, mas ele da erro…

P

Pra vc fazer monstrar uma opção diferente da primeira vc tem que colocar a marcação “SELECTED”, então vc coloca ${item.id eq caraQueVeioDaLogica.id ? 'selected=“selected” : ‘’} dentro o <option> do <c:foreach>

Ficando assim:

<option value="${cliente.id}">${cliente.codigo}-${cliente.descricao}</option>

para

<option value="${cliente.id}" ${item.id eq caraQueVeioDaLogica.id ? 'selected=“selected” : ‘’}>${cliente.codigo}-${cliente.descricao}</option>

Lucas_Cavalcanti

tem que deixar o value e o selected:

<option ${cliente.id eq outroCliente.id ? 'selected="selected" : ''} value="${cliente.id}">${cliente.codigo}-${cliente.descricao}</option>
Lucas_Sorrentino

ele diz que meus atributos sao undefined… e quando rodo a pagina, diz que não fechei a tag ${ …
mas ta direitinho… segue o código:

<select name="cliente">  
			<option value="">--Cliente--</option>  
  				<c:forEach var="cliente" items="${clientes}">   
   				 <option ${cliente.id eq atividadeDiaria.cliente.id ? 'selected="SELECTED" : '' } value="${cliente.id}">${cliente.codigo}-${cliente.descricao}</option>   
  				</c:forEach>   
		</select>
Lucas_Cavalcanti

tah faltando uma aspa:

'selected="SELECTED"'
Lucas_Sorrentino

PO, era isso mesmo, Lucas. Obrigado mais uma vez!

Criado 13 de maio de 2010
Ultima resposta 14 de mai. de 2010
Respostas 9
Participantes 3