Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Patricia

mais de um checkbox "checked"

Recommended Posts

pessoal alguém aí me dá um help, eu já tentei tanta coisa, que acabaram-se todas as minhas alternativaseu tenho uma enquete que tem perguntas de resposta única (radio) e de resposta multipla (checkbox) as de rádio eu consegui fazer a resposta correta ficar checked, mas as de check que tá dando problema!se a pessoa escolhe mais de uma opção, então é gravado no banco assim20,21,22ai depois pra alterar ficou assim<input type="checkbox" name="resposta" value="<%=rsResp("pk_resposta")%>" If Instr(rsResp("pk_resposta"),rsCliEnquete("fk_resposta")) <> 0 then%>checked<%End if%>' seria assim se o código dessa resposta (rsResp("pk_resposta") está na enquete deste cliente (rsCliEnquete("fk_resposta")ai é que tá dando pepinose a pessoa escolheu só uma opção ai o campo fica checkedse foi mais de uma opção, ele não fica com nenhuma opção checkedalguém já fez algo do tipo?????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando se tem mais de 1 checkBox com mesmo nome marcado o request vem em forma de "Array", uma matriz de respostas, para marcar os checks corretamente para edição você deve fazer um Split e varrer para verificar se o dado (id da resposta) se encontra na matriz.

Compartilhar este post


Link para o post
Compartilhar em outros sites

deem uma olhada!

não tem um jeito melhor?

vai ter que ficar fazendo um loop dentro do outro mesmo??????

o código não vai ser assim, ok, é só a lógica que eu to tentando montar

 

<%

rs1 = SELECT PERGUNTA

 

rs2 = SELECT RESPOSTAS DA PERGUNTA ACIMA

total_respostas = rs2.RecordCount

DO WHILE NOT rs2.eof

 

rs3 = SELECT RESPOSTAS DO CLIENTE DA PERGUNTA ACIMA

respostas = Split(rs3("respostas"), ",")

 

For x = 0 to total_respostas

If respostas(x) = rs2("pk_resposta") then

msg = checked

End if

%>

 

<input checkbox value="<%rs2("pk_resposta")%>" <%msg%>>

 

<%

Next

rs2.MoveNext

loop

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

ao invés de fazer um loop até a quantidade de respostas existentes, não tem como eu saber qtas quebras foram feitas com o split?tipo se no banco tinha 20, 22 ele fez duas quebras né 20 e 22, ai eu faria um loop de duas voltas só, porque se fizer baseado no total de respostas, vai dar erro (acho)da pra saber qtas quebras foram feitas com o split?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, faz assim: For X = LBound(array) to UBound(array), onde LBound() é o Limite inferior do Array (0) e UBound é o Limite superior.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Perfeito Mestre Salgado!!!

 

pra que precisar ficou assim:

 

<input type="checkbox" name="resposta_<%=rsPerg("pk_pergunta")%>" value="<%=rsResp("pk_resposta")%>"

<%If not rsCliEnquete.eof then%>

<%

resposta = Split(rsCliEnquete("fk_resposta"), ", ")

For X = LBound(resposta) to UBound(resposta)

If CInt(resposta(x)) = rsResp("pk_resposta") then%>

 

checked

 

<%

End if

Next

%>

<%End if%>>

 

bigadinhuuuuu http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.