DUVIDA acho que simples... alguem ajuda ae?

estou com esse select funcionando de boa aki…



<select id="selectOK" name="desc_produto" onchange="selecionar();"  >
			<option value="">..Selecione..</option>
			<c:forEach var="produto" items="${dao.lista}">
				<option value="${produto.vlrcompra}"  > // USO ISSO AKI EM UM CAMPO LOGO ABAIXO
										
			              ${produto.descricao} //PRECISO GRAVAR ESSE EM BD
				
				</option>
			</c:forEach>
		</select> 


Porem eu preciso gravar em BD, o nome do produto que seria ${produto.descricao}, como minha servlet pega os dados por parametros ela grava o valor do produto e nao a descricao. Sei q o que ele grava é o que esta no VALUE do OPTION, mas nao tem como eu gravar o que esta DENTRO do option nesse caso ai nao?

o eskema ai é o seguinte, ecolho o nome no select, dai ja puxa pra mim o valor pra um input text. [FUNCIONA]

porem pra gravar no BD esta gravando assim

1- cod: 33
2- desc_prod: 1.99 ----------------> aki tem q vir a descricao e la em cima ele pega o valor do option value e eu quero o que esta dentro do option que no caso seria a descricao ${produto.descricao}
3 QTDE: 2
data: 10/10/2010
total: 3.98

pra entender melhor:

Ao invés de mandar o preço, manda o código do produto. Pelo código (imagino que seja PK da tabela) você carrega o objeto do tipo Produto e consegue aí a descrição.

certo, desculpa minha ignorancia ai mas como assim?

o codigo sim é PK…

acontece q qdo gravo em BD ta gravando o valor no campo descricao e o valor no campo valor esta certo.

me falaram que o que a servlet pega seria o valor que esta no VALUE do option sen la em cima citado,

${produto.vlrcompra}.

ele lista belezinha la

o cara clica no select aparece os nomes

no onchange dele

ja cai o valor unitario no input, etc…

ele nao grava o q esta dentro de option tipo assim:


<option value="${produto.vlrcompra}">
			
							
	${produto.codigo} /// GRAVAR ESSE AKI EM BD no respectivo campo descricao do BD
				
 </option>

Olha só, eu entendi o seguinte: você está fazendo uma espécie de venda Web. Nessa tela, o cara seleciona um produto de uma lista e informa a quantidade para incluir um item na venda. Pois bem, o que eu estou tentando explicar é que quando você selecionar o produto e digitar a quantidade você deve enviar a PK do produto escolhido e a quantidade informada. No seu item de venda você grava só a PK do produto, pois a partir dela você consegue buscar quaisquer outros dados daquele produto, entendeu ?

Você até consegue navegar pelo elementos HTML com Javascript, mas além de ser mais difícil não é assim que sistemas baseados em bancos relacionais são montados. Tudo que fazemos parte da PK, relacionando as tabelas. Dificilmente trabalhos com dados isolados, como o valor de um campo.

acho que você está confundindo uma coisa (me desculpe se estiver errado)

&lt;option value="${produto.vlrcompra}"&gt; // aqui ${produto.descricao} &lt;/option&gt;

você deve estar pensando que o atributo value precisa ser o valor (value) do produto.

você pode colocar qualquer dado que queira gravar no banco de dados (ou apenas manipular), inclusive a descrição, ou melhor, como sugeriu o amigo rmendes08, o código.

&lt;option value="${produto.descricao}"&gt; ${produto.descricao} &lt;/option&gt;