Pegar atributo do VO, quando um valor é selecionado num Listbox

1 resposta
I

Boa tarde amigos,

Estou com uma pequena dúvida. Tenho um listbox na jsp onde é populado com as condições de pagamento (EX. “30, 60 e 90”), esta combo é populada quando a jsp é carregada, atraves de uma action do Struts que é startada. Até ai tudo blz, o que estou tentando fazer quando por exemplo for selecionado uma condição de pagamento, preencher automaticamente um campo text logo abaixo com a quantidade de Parcelas. Lembrando que quando populo este listbox, tb existe um atiruto do VO que é populado com a quantidade de parcelas. Tentei fazer isto com JS, mas não consegui, como poderia fazer isto amigos?

Trecho da JSP (Listbox):

<select name="condicaoPagamentoVO.tipoPagamentoVO.nome" id="condicaoPagamento" size="1">
	<c:forEach var="condicaoPagt" items="${lCondicaoPagamento}">									<option value="<c:out value="${condicaoPagt.id}"/>">
                                <c:out value="${condicaoPagt.nome}"/></option>
	</c:forEach>
</select>

Método do DAO que popula o VO:

public ArrayList <CondicaoPagamentoVO> listarCondicaoPagamento() throws Exception {

		try	{
			String query =	"SELECT " +
						"CP.ID, " +
						"CP.NOME, " +
						"CP.DESCRICAO, " +
						"CP.QTD_PARCELA, " +
						"CP.PERIODICIDADE " +
					"FROM " +
						"TBL_CONDICAO_PAGAMENTO CP "+
					"ORDER BY CP.NOME ";
			
			xConn = new XConnection();
			xConn.rs = xConn.seleciona(query);

		ArrayList <CondicaoPagamentoVO> lCondicaoPagamento = new ArrayList <CondicaoPagamentoVO>();
			
			while(xConn.rs.next()) {
				
				CondicaoPagamentoVO condicaoPagamentoVO = new CondicaoPagamentoVO();
				
				condicaoPagamentoVO.setId(xConn.rs.getString(1));
				condicaoPagamentoVO.setNome(xConn.rs.getString(2));
				condicaoPagamentoVO.setDescricao(xConn.rs.getString(3));
				condicaoPagamentoVO.setQtdParcela(xConn.rs.getString(4));
				condicaoPagamentoVO.setPeriodicidade(xConn.rs.getString(5));
							
				lCondicaoPagamento.add(condicaoPagamentoVO);
			}
			
			
			xConn.fechaConexao();		
			return lCondicaoPagamento;

		} catch(SQLException e) {
			System.out.println("ERROR listarCondicaoPagamento: " + e.toString());
			xConn.fechaConexao();
			return null;
		} catch(Exception e) {
			System.out.println("ERROR listarCondicaoPagamento: " + e.toString());
			xConn.fechaConexao();
			return null;
		}					

}

Trecho da Action, onde jogo o VO pra Sessão:

List <CondicaoPagamentoVO> condicaoPagamento = pedidoDAO.listarCondicaoPagamento();
request.getSession().setAttribute("lCondicaoPagamento", condicaoPagamento);

Vlw amigos…

Feliz dias das MÃES!!!

1 Resposta

Andre_Fonseca

oi IgorFranco

pelo que entendi a sua dificuldade é com relação ao JS certo? já que o valor você já tem no objeto

para fazer o que vc precisa pode tentar algo parecido com isso

&lt;script&gt;
	function exibeQtd() {
		var selectedIndex 	= document.getElementById('meuSelect').selectedIndex;
		var divInput		= document.getElementById('divInput');
		if (selectedIndex&gt;0) {
			divInput.style.display='block';
		} else {
			divInput.style.display='none';
		}
	}
&lt;/script&gt;


&lt;form&gt;
	&lt;div id="divSelect"&gt;
		opções
		&lt;select id="meuSelect" onchange="exibeQtd();"&gt;
			&lt;option value="-1" selected="selected"&gt;selecione...&lt;/option&gt;
			&lt;option value="10"&gt;10&lt;/option&gt;
			&lt;option value="20"&gt;20&lt;/option&gt;
			&lt;option value="30"&gt;30&lt;/option&gt;
		&lt;/select&gt;
	&lt;/div&gt;
	&lt;div id="divInput" style="display:none;"&gt;
	   	qtdades &lt;input type="text" value="20" name="quantidades" /&gt;
	&lt;/div&gt;
&lt;/form&gt;

adapte para as necessidades que precisar

uma sugestão, não sei se você utiliza no seu projeto, mas tente aprender algum framework javascript que vai te ajudar bastante, uma sugestão é o Prototype

Criado 10 de maio de 2009
Ultima resposta 10 de mai. de 2009
Respostas 1
Participantes 2