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)
<option value="${produto.vlrcompra}"> // aqui
${produto.descricao}
</option>
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.
<option value="${produto.descricao}">
${produto.descricao}
</option>