Ir para conteúdo

Arquivado

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

jul

resgatar dados checkbox dinamico

Recommended Posts

Olá sou novo aqui no forum e me cadastrei para ver se eu consigo uma solução para o meu problema.

Eu preciso resgatar o valor de um checkbox conforme oque esta marcado no banco, eu tenho uma tabela que me traz o checkbox em branco onde o checkbox é dinamico então somente tenho 1 checkbox que pode ter varios valores no banco

 

 

 

Tenho uma tabela onde gravo estes dados que foram marcados

 

 

 

e quando eu comparo uma tabela com a outra somente consigo marcar 1 checkbox,quando eu marco mais de 1 ele não marca nada.

 

Abaixo o codigo,

<% 'laco que forma as colunas do check box em branco
			  contador = 0
			  While (NOT RS_software.EOF) 
%>



<input name='software'  type='checkbox' class='box' id='software' value="<%=(RS_Software.Fields.Item("software").Value)%>"<% If (mostra_profissional.Fields.Item("software").Value) = (RS_Software.Fields.Item("software").Value) Then%>checked <%end if %>>




<% contador = contador+1 
if contador = 5 then
response.Write("</td><td>")
contador = 0
end if
 RS_software.MoveNext()
Wend %>
fico agradecido se alguem puder me ajudar preciso somente passar o valor para o check sem que ele perca os outros

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está comparando entre dois RecordSets, como está o dado no campo do recordset mostra_profissional.Fields.Item("software")? É apenas um ou nele vem vários dados?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está comparando entre dois RecordSets, como está o dado no campo do recordset mostra_profissional.Fields.Item("software")? É apenas um ou nele vem vários dados?

 

pode ter varios como pode ter somente 1, quando é somente 1 checkbox marcado ele funciona, mais quando são mais ele não marca nada

abaixo esta o exemplo com a variavel soft tratada

 

 

soft = RS_software.Fields.Item("software").Value

soft = Replace(soft, " ", "")

soft = Replace(soft, ",", "-")

 

 

 

<% 'laco que forma as colunas do check box

contador = 0

While (NOT RS_software.EOF)

 

%>

 

<span class="ver_preto_1">

<input name='software' type='checkbox' class='box' id='software' value="<%=soft%>"<% If soft = (RS_ticado.Fields.Item("softwares_tic").Value) Then %>checked <%end if %>>

 

 

 

<% contador = contador+1

if contador = 5 then

response.Write("</td><td>")

contador = 0

end if

RS_software.MoveNext()

Wend %>

 

 

eu já tentei utilizar o Instr, já tentei utilizar laços, mais mesmo assim não consigo trazer mais de 1 valor para o checkbox

caso você tenha uma outra logica e puder me ajudar a trilhar um caminho agradeço

 

 

Muito obrigado pela ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu consegui fazer ele ficar ticado, mais ele esta duplicando os checkbox tambem,alguem sabe como resolver isso????

 

Por favor

 

<%

soft = RS_software.Fields.Item("software").Value
soft = Replace(soft, " ", "")
soft = Replace(soft, ",", "-")
%>
<%

escolhido1 = (mostra_profissional.Fields.Item("software").Value)
escolhido1 = Replace(escolhido1, "-"," ")
escolhido1 = Replace(escolhido1, " ","")
escolhido1 = split(escolhido1,",")
for each selecao in escolhido1
%>

<span class="ver_preto_1">

<input name='software'  type='checkbox' class='box' id='software' value="<%=selecao%>"<% If soft = selecao Then %>checked <%end if %>><%next%>

</span><span class="arial1cin"><%=(RS_software.Fields.Item("software").Value)%></span> <span class="ver_preto_1"> <br />


<%contador = contador+1 
if contador = 5 then
response.Write("</td><td>")
contador = 0

end if
 RS_software.MoveNext()
Wend %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Está faltando um trecho do seu código, mas vou fazer algo com base nele:

<%
'Aqui acredito que está o WHILE de seu RS que seleciona todos os softwares a listar
Soft = Replace(RS_software.Fields.Item("software").Value," ","")
%>
<%
escolhido1 = (mostra_profissional.Fields.Item("software").Value)
escolhido1 = Replace(escolhido1, "-"," ")
escolhido1 = Replace(escolhido1, " ","")
escolhido1 = split(escolhido1,",")
for each selecao in escolhido1
%>
<span class="ver_preto_1">

<input name='software'  type='checkbox' class='box' id='software' value="<%=Soft%>"<% If soft = selecao Then %>checked <%end if %>>

</span><span class="arial1cin"><%=Soft%></span> <span class="ver_preto_1"> <br />
<%	NEXT 
contador = contador+1
if contador = 5 then
response.Write("</td><td>")
contador = 0
end if
RS_software.MoveNext()

Wend %>

Testa fazendo as alterações, ou poste o ´trecho de seleção do software e todo o WHILE dele.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salgado eu fiz como você sugeriu ele continua repetindo os checkbox, EXEMPLO: SE TIVER 5 CHECKBOX MARCADOS E ELE ME TRAZ 5 VEZES CADA ITEN DO BANCO

 

PHOTOSHOP

PHOTOSHOP

PHOTOSHOP

PHOTOSHOP

PHOTOSHOP

 

WINDOWS XP

WINDOWS XP

WINDOWS XP

WINDOWS XP

WINDOWS XP

 

LOTUS

LOTUS

LOTUS

LOTUS

LOTUS

 

AO TODO EU TENHO 20 SOFTWARES SE EU MARCAR OS 20 ELE ME REPETE 20 VEZES CADA ITEN DO BANCO

ABAIXO PASSO O CODIGO INTEIRO

 

 

<% 'laco que forma as colunas do check box
			  contador = 0
			  While (NOT RS_software.EOF) 

%>

<%
' limpa as strings do check box software do dbo.softw criadas pelo administrador
soft = RS_software.Fields.Item("software").Value
soft = Replace(soft, " ", "")
soft = Replace(soft, ",", "-")
%>

<%
' limpa as strings do que vem dbo.profissional que foram marcados pelo usuario
escolhido1 = (mostra_profissional.Fields.Item("software").Value)
escolhido1 = Replace(escolhido1, "-"," ")
escolhido1 = Replace(escolhido1, " ","")
escolhido1 = split(escolhido1,",")
for each selecao in escolhido1
%>

<input name='software'  type='checkbox' class='box' id='software' value="<%=Soft%>"<% If soft = selecao Then %>checked <%end if %>>

</span><span class="arial1cin"><%=Soft%></span> <span class="ver_preto_1"> <br />


<% NEXT 
contador = contador+1 
if contador = 5 then
response.Write("</td><td>")
contador = 0

end if
 RS_software.MoveNext()
Wend %>
Muito obrigado pela ajuda Salgado

Compartilhar este post


Link para o post
Compartilhar em outros sites

testa com essa alteração:

<% 'laco que forma as colunas do check box
contador = 0
While (NOT RS_software.EOF)
%>

<%
' limpa as strings do check box software do dbo.softw criadas pelo administrador
soft = RS_software.Fields.Item("software").Value
soft = Replace(soft, " ", "")
soft = Replace(soft, ",", "-")
%>

<%
' limpa as strings do que vem dbo.profissional que foram marcados pelo usuario
escolhido1 = (mostra_profissional.Fields.Item("software").Value)
escolhido1 = Replace(escolhido1, "-"," ")
escolhido1 = Replace(escolhido1, " ","")
escolhido1 = split(escolhido1,",")
For Each selecao In escolhido1
	If soft = selecao Then
		marcado = "checked"
	end if
Next
%>
<input name='software'  type='checkbox' class='box' id='software' value="<%=Soft%>" <%=Marcado%>>
</span><span class="arial1cin"><%=Soft%></span> <span class="ver_preto_1"> <br />

<%
contador = contador+1
if contador = 5 then
	response.Write("</td><td>")
	contador = 0
end if
Marcado = ""
RS_software.MoveNext
Wend %>

O que estava acontecendo era que, realmente, a cada passada do FOR EACH se escrevia na tela o seu ChekBox, então acontecia a repetição.

Compartilhar este post


Link para o post
Compartilhar em outros sites

testa com essa alteração:

<% 'laco que forma as colunas do check box
contador = 0
While (NOT RS_software.EOF)
%>

<%
' limpa as strings do check box software do dbo.softw criadas pelo administrador
	soft = RS_software.Fields.Item("software").Value
	soft = Replace(soft, " ", "")
	soft = Replace(soft, ",", "-")
%>

<%
' limpa as strings do que vem dbo.profissional que foram marcados pelo usuario
	escolhido1 = (mostra_profissional.Fields.Item("software").Value)
	escolhido1 = Replace(escolhido1, "-"," ")
	escolhido1 = Replace(escolhido1, " ","")
	escolhido1 = split(escolhido1,",")
	For Each selecao In escolhido1
		If soft = selecao Then
			marcado = "checked"
		end if
	Next
%>
<input name='software'  type='checkbox' class='box' id='software' value="<%=Soft%>" <%=Marcado%>>
</span><span class="arial1cin"><%=Soft%></span> <span class="ver_preto_1"> <br />

<%
	contador = contador+1
	if contador = 5 then
		response.Write("</td><td>")
		contador = 0
	end if
	Marcado = ""
	RS_software.MoveNext
Wend %>
O que estava acontecendo era que, realmente, a cada passada do FOR EACH se escrevia na tela o seu ChekBox, então acontecia a repetição.

 

 

Consegui Salgado Gloria ao senhor, muito obrigado mesmo estava precisando de uma providência um abraço

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.