Problemas com <select> e <input type="text>" + DAO {RESOLVIDO}

9 respostas
L

Bom dia:
volto a perguntar, pois nao tive respostas anteriores e nao achei algo parecido aki no forum.

<jsp:useBean id="dao" class="br.controle.dao.ProdutoDAO" />

o select na pagina:

o select: 

view plaincopy to clipboardprint?
  
<tr>         
        <td><label>Produto</label> </td>   
        <td>   
           
        <select name="desc_produto">     
    <option value="">.. Selecione .. </option>     
    <c:forEach var="produto" items="${dao.lista}">     
       <option value="${produto.descricao}" >   
              ${produto.descricao}   
                 
       </option>     
           
    </c:forEach>     
       
</select>   
         
        </td>       
           
        </tr>   

<tr>

e o input:

<tr>         
    <td><label>Valor Un.</label></td>   
    <td><input name="vlrcompra" type="text"   size="10"                                                                                                id="vlrcompra" >    </td>       
                        </tr>                                                                                                       

 <tr>       
		<td><label>Valor Un.</label></td> 
		<td><input name="vlrcompra" type="text"   size="10"                                                                                                id="vlrcompra" >    </td>    
							</tr>

gostaria que ao selecionar o nome do produto, neste devido viesse o valor unitario desse mesmo produto. Nao consigo fazer com que ele carregue ao selecionar o nome no Select.

Alguem sabe se isso é possivel?

lembrando que o select ta funionando PERFEITAMENTE.

o problema seria pegar o valor do preco unitario.
ja tentei

${produto.vlrcompra}     ou    ${param.vlrcompra}

no value do input, e nao vem mesmo assim.

na ficaria assim:

no select pego o nome do produto vindo da minha lista do DAO. {FUNCIONANDO},
logo abaixo apareceria o valor de compra ou unitario que o DAO lista no meu metodo. Sendo este "jogado" pra esse input text. {O QUE PRECISO REALMENTE}
dai abaixo tenho um campo quantidade.
ao sair o foco ele me retornara um TOTAL. {FUNCIONANDO}.

POREM preciso q o valor de compra ou unitario venha AUTOMATICO, sem o usuario digitar..

se alguempoder ajudar... agradeco!!!!!
creditos ao amigo alisson vla!!!

9 Respostas

A

cara,

so para entender, vc quer que quando vc selecionar uma opção no seu select, seja preenchido o input text?

t+

L

SIM,

tipo, nesse select ja me tras todos os NOMES dos produtos.

quando eu seleciono por exemplo:

“retentor” - que é um produto

viesse no input text logo abaixo o valor desse produto, algo como: 70.89 por exemplo.

porque qdo o usuario der a quantidade eu tenho um Javascript q ja calcula o total em outro Input logo abaixo.

OK? So que pra q o usuario nao fique decorando o preco, viesse automatico apos selecionar o nome do produto nesse .

A

cara,

isso ficaria bacana se vc utilizasse Ajax, vc vai ter que usar o atributo onchange do select e fazer uma função javascript que atribua esse valor ao inputtext.

PS: ${produto.vlrcompra} so vai funcionar dentro da tag c:foreach e não fora disso

t+

L

pois é foi o que tentei… somente dentro do <c:forEach>… que ele vem com o devido dado.

Cara sem querer pedir demais rsrsrsr, vc nao tem algo parecido no javascript que faca isso nao? Pra eu ter uma nocao aqui… Tentei N coisas e nao vai nao…

A

cara,

vou te passar um exemplo simplesssss, so para vc ter ideia de como fazer

<html>
	<script>
	function selecionar(){
		document.getElementById('teste').value = document.getElementById('selectOK').value;
	}
	</script>
	<body>
	<select id="selectOK" onchange="selecionar()">
		<option value="">Selecione</option>
		<option value="10,20">Valor 01</option>
		<option value="20,20">Valor 02</option>
	</select></br>
	<input type="text" id="teste"/>
	</body>
</html>

t+

L

vou testar aki e ja posto algum resultado…AlissonVla… obrigado por enquanto…

L

NU PERFEITO CARA… AJUDOU DEMAISSSSSSSSSSSSS!!!

ficou assim:

<tr>       
		<td><label>Produto</label> </td>
		<td>
		
		<select id="selectOK" name="desc_produto"  onchange="selecionar()">  // no onchange e vai e joga o valor unitario la pro meu <input Text>
    <option value="">.. Selecione .. </option>  
    <c:forEach var="produto" items="${dao.lista}">  /// busca os dados
       <option value="${produto.vlrcompra}" > // sao os precos que eu queria pegar
              ${produto.descricao}                    // lista os nomes do produtos
           
           </option>

Brigadao ai amigo… e desculpe a minha ignorancia em certas coisa, é q estou iniciando em java web… Obrigado!!!

A

boaa,

marque o post como resolvido.

t+

M

Opa tudo bom?
eu copiei este exemplo e tb me serviu perfeitamente, porém eu gostaria de adicionar um valor antes do que irá aparecer pra mim, tipo:

<script>  
    function selecionar(){  
        document.getElementById('arquivo.link').value = document.getElementById('arquivo.frente.nomeFrente').value;  
    }  
</script>
<select name="arquivo.frente.nomeFrente" id="arquivo.frente.nomeFrente" onchange="selecionar()">
      	<option value="0">Selecionar</option>
      	<c:forEach items="${arquivos}" var="arquivo">
      	<option value="${arquivo.frente.nomeFrente}">${arquivo.frente.nomeFrente}</option>
       	</c:forEach>
      </select>

vamos supor que o valor selecionado seja teste eu queria que aparecesse pra mim F/teste entendeu?

agradeço desde já

Criado 24 de outubro de 2011
Ultima resposta 27 de fev. de 2013
Respostas 9
Participantes 3