Como retornar os valores que estão como checked em um HTML:CHECKBOX

Oi gente seria algo desse tipo:

<html:checkbox property=“codUsuario” name=“usuario” value=’<%=this.elements[this.checkedIndex].value%>’/>

Como que posso atribuir a variavel value os valores q estão checked?

vc esta executando isso dentro de um foreach???

caso sim, vc esta criando varios checkbox com o mesmo nome e quando der o submit, sabe-se lá deus o que vc vai receber pois as chaves sao todas iguais concorda??

POderia explicar um pouco melhor seu problema?

[]´s

não isso está dentro de uma tag do struts chamada iterate

<logic:iterate name=“UsuarioBean” id=“usuario”>
<html:checkbox property=“codUsuario” name=“usuario” value=’<%=this.elements[].value%>’/>
</logic:iterate>

Só preciso saber que valor tenho que colocar no value para que retorne todos os checkeds. Porque qnd não coloco essa variável value, value fica no default com um valor esquisito, “on” e daí mesmo que eu marque várias opções ele passa “on” para o action o que dá pau depois pq preciso do codigo do usuario. Só que ele não tá pegando nenhum código, daí preciso saber o q fazer para pegar todos os códigos referente as opções que marquei.

Na verdade eu não sei como esse checkebox funciona, como poderia fazer para retornar todos os códigos das opções foram marcadas? E eu preciso do iterate sim porque senão ele não vai listar todas as opções.

Eis uma demonstração de como quero utilizar o checkbox no arquivo em anexo.

o iterate eo foreach tem funções identicas :slight_smile:

Bom, sobre o checkbox eu posso te dizer que ele retorna algo como 1 ou 2, ou on ou off… ou seja, checado ou não…

O que vc quer fazer eh um multibox (usando o struts)… que tem a tag:
<html:multibox property=“site”>

segue abaixo um exemplo de como utilizá-la

<logic:iterate id=“item” property=“items”>
<html:multibox property=“selectedItems”>
<bean:write name=“item”/> ---- ‘value’
</html:multibox>
<bean:write name=“item”/> ---- label para o ‘value’
</logic:iterate>

e isso te retorna no request um vetor de strings (String [] selectedItems) com os ‘values’ dos items selecionados…

espero que isso te ajude…

maus da demora…

[]´s

Oi thadeurc, eu estou usando multibox agora e tá retorna no request um vetor de strings (String [] selectedItems) com os ‘values’ de todos os itens independente se foi selecionado ou não.
O que faço para pegar apenas os selecionados via action do struts?

estranho… deveria so retornar os selecionados…

teria como vc postar o seu codigo?? o jsp e a action please acho q fica mais fácil de eu te ajudar…

[]´s

Meu jsp:

<logic:iterate name=“UsuarioBean” id=“usuario”>
<html:multibox property=“codUsuario” name=“usuario” value=“1”>
<bean:write name=“usuario” property=“codUsuario”/>
</html:multibox>
</logic:iterate>

Meu action:

DynaActionForm UsuarioGrupoForm = (DynaActionForm) form;
String[] codUsuario = (String[]) UsuarioGrupoForm.get(“codUsuario”);

entao Adriana… vc nao pode colocar o value como 1 pois assim esta selecionando todos os caras… nao coloca o value

ex:

<logic:iterate name=“UsuarioBean” id=“usuario”>
<html:multibox property=“codUsuario” name=“usuario”>
<bean:write name=“usuario” property=“codUsuario”/>
</html:multibox>
</logic:iterate>

[]´s

Eu coloquei value = 1 justamente pq qnd eu não colocava o value quando carregava a página vinham todos selecionados. Achei que colocando o value=1 ia solucionar esse problema e funcionou não veio mais marcado só que no action ele desconsidera os selecionados e o nr 1 vai para o código.
Aquele outro problema continua, ele pega todos ao inves dos selecionados.
O que devo fazer???

de uma olhada nbeste link… acho q vai te ajudar… nao estou com o struts na minha maquina para testar…

http://www.reumann.net/struts/lesson3/step9.do

espero que te ajude