ola pessoal,
tenho q fazer 2 atuliazaçoes dinamicas em uma pagina jsp. Uma consegui fazer sem mto stress; mas a segunda ta acontecendo um problema, quando seleciono a opção na combo select, aparece um grupo de chekbox(que eh o q tem q acontecer), no mesmo lugar da combo (apagando), e gostaria q o checkbox aparecesse em baixo. para isso estou usando ajax. seguem os codigos relacionados:
Pagina principal:
<form>
<table>
<tr>
<td>Selecione a categoria do produto:</td>
<td><select name="catproduto" id="catproduto"
onChange="getproduto(this.value)">
<%
CategoriaProduto produto = null;
out.println("<OPTION SELECTED VALUE= \"Selecionar\">Selecionar");
while (it.hasNext()) {
produto = (CategoriaProduto) it.next();
out.println("<OPTION VALUE=\"" + produto.getId() + "\">"
+ produto.getNome());
// System.out.println(mun.getId()+"-"+mun.getNome());
}
%>
</select>
<!-- ate aki tudo bm, aparece a segunda chek box ok-->
</td>
</tr>
<tr>
<td height="26">
<div align="right"><font color="green">*</font></div>
</td>
<td width="321">
<div id="txtHint"></div>
</td>
</tr>
<tr>
<td width="26">checkbox
</td>
<td width="321">
<div id="txtHint1">2222222222</div>
</td>
</tr>
</table>
<table>
</table>
<table>
</table>
<input type="submit">
</form>
codigo primeira atualizaçao:
response
.getWriter()
.write(
"<select name=\"comboproduto\" id=\"comboproduto\" onChange=\"gettproduto(this.value)\" >"
+ "<OPTION SELECTED VALUE= \"Selecionar\">Selecionar");
//aqui passo o valor para a proxima pagina
// index for the selection in our master list
String index = request.getParameter("q");//"5";
ProdutoDAO bb = df.getProdutoDAO();
Collection<Entity> produtos = null;
Iterator it = null;
produtos = bb.listLight();
it = produtos.iterator();
Produto produto = null;
while (it.hasNext()) {
produto = (Produto) it.next();
if (produto.getCategoriaProduto().toString().equals(index)) {
// comparaçao de strings se da pelo metodo equals
response.getWriter().write(
"<OPTION VALUE=\"" + produto.getId() + "\">"
+ produto.getNome());
// System.out.println(mun.getId()+"-"+mun.getNome());
}
}
e a pagina do checkbox, que aparece apagando a combo q acabou de ser gerada
Iterator it = null;
Iterator itf = null;
produtos = bb.listLight();
TipoProduto produto = null;
TipoProduto produtof = null;
//produtosf = ((Fornecedor)session.getAttribute("fornecedor")).getTipoProdutos();
produtosf = f.getTipoProdutos();
it = produtos.iterator();
itf = produtosf.iterator();
out.print("<div id = tpro>");
while (it.hasNext()) {
produto = (TipoProduto) it.next();
// comparar os produtos possiveis com os do fornecedor
while (itf.hasNext()) {
produtof = (TipoProduto) itf.next();
if (produto.getProduto().getId() == Long.parseLong(index)) {
//adiciona um check box marcado
if (produtof.getId() == produto.getId()) {
response.getWriter().write(
"<input type ='checkbox' name=\""
+ produto.getId() + "\"CHECKED>"
+ produto.getNome() + "<BR>");
break;
}
}
}
//check box livre
if (produto.getProduto().getId() == Long.parseLong(index)) {
response.getWriter().write(
"<input type ='checkbox' name=\"" + produto.getId()
+ "\">" + produto.getNome() + "<BR>");
}
}
out.print("</div id = tpro>");
Claro, existem todos os import’s e etc.
desde de ja mto obrigado pelas respostas