Gostaria de saber como faço para popular uma tabela usando um select que possui os dados do banco.
Quando eu der um click na opção , nome por exemplo, logo em baixo a tabela (
AEW!!! vc vai ter que usar ajax…
eu acabei de fazer algo parecido agora…
utilizando JQuery + VRaptor !!
JSP:
<script>
function exibir(valor) {
$('#descricao').load('compra.buscarDescricao.ajax.logic', {'id':valor}, function(data)
{
var jsonObject = eval('('+data+')');
var html = "<table>";
html += "<tr>";
html += "<td>";
html += 'Descricão';
html += "</td>";
html += "</tr>";
html += "<tr>";
html += "<td>";
html += jsonObject.descricao
html += "</td>";
html += "</tr>" ;
html += "</table>" ;
document.getElementById('descricao').innerHTML= html;
}
);
}
</script>
<select name="plano.id" onchange="exibir(this.value)" id="cmbPlano">
<option value="0" selected="true">Escolha o plano:</option>
<c:forEach var="item" items="${listaPlano}">
<option value="${item.id}">${item.nome}</option>
</c:forEach>
</select>
<div id = "descricao"></div>
Logic
@Component("compra")
@InterceptedBy(DaoInteceptor.class)
public class CompraLogic {
@Out
String descricao;
@Remotable
public void buscarDescricao()
{
descricao = this.daoFactory.getPlanoDao().procura(id).getCaracteristica();
}
}
}
JSP - > Logic - > JSP (JSON)