Retorno Ajax [RESOLVIDO]

3 respostas
kaahxd

Bem queria que ao mudar o campo no box, ele preenchesse o input da unidade de medida com a unidade cadastrarda, segue o que eu fiz:

JavaScript

<script type="text/javascript">
$(document).ready(function(){
	$("select[name=residuo]").change(function(){
		$("input[name=um]").val('Aguarde...');
		
		$.post("testa",
				{id:$("select[name=um]").val()},
				function(valor){
					$("input[name=um]").val(valor);
			});
	});
});
</script>

Formulário

<td>
<select name="residuo" id="residuo">
<option value="0">&nbsp;</option>
<option value="1">cadastrados</option>
</select>
</td>
<td align="right"><label for="um">Unidade de Medida</label></td>
<td><input type="text" name="um" id="um" size="10" /></td>

Método "testa" que retorna a resposta

public String testa(Integer id, HttpServletResponse response) {
		EntityManager em = new JPAUtil().getEntityManager();
		ResiduoDAO dao = new ResiduoDAO(em);
		em.getTransaction().begin();

		Residuo residuo = dao.getBusca(id);
		String unidade = residuo.getUnidadeDeMedida().getUnidadeDeMedida();

		return unidade;
	}

Ou seja, quando eu mudar o combo, ele devia buscar a id (no exemplo 1) e exibir a unidade de medida cadastrada para essa id no input "um".

Quem puder ajudar muito obrigado!

3 Respostas

I

Não consegui visualizar o erro que ta dando, mas tente pegar pelo ID:

$("#um").val(valor);

uma dica

kaahxd

Estou longe do código agora, vou tentar assim que chegar em casa, mais obrigado pela ajuda!

Estou usando Spring MVC, não sei se isso faz diferença, ajuda, piora kk

e o a url para chamada do método é dada por anotação, desta forma:

@RequestMapping("/testa") public String testa(Integer id, HttpServletResponse response) { //toda implementação }

kaahxd

Consegui fazer funcionar, segue a implementação do método.

@RequestMapping("/compleaUnidadeDeMedida")
	public void compleaUnidadeDeMedida(HttpServletResponse response, Integer id)
			throws IOException {
		EntityManager em = new JPAUtil().getEntityManager();
		ResiduoDAO dao = new ResiduoDAO(em);
		em.getTransaction().begin();

		Residuo residuo = dao.getBusca(id);
		String unidade = residuo.getUnidadeDeMedida().getUnidadeDeMedida();

		em.close();

		System.out.println(unidade);

		response.setContentType("text/html");
		response.getWriter().write(unidade);
	}
Criado 17 de outubro de 2012
Ultima resposta 18 de out. de 2012
Respostas 3
Participantes 2