Ir para conteúdo

POWERED BY:

Arquivado

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

Argos

[Resolvido] Selecionando último registro em um menú de lista

Recommended Posts

E ae galera..

Tenho duas tabelas em um bd (A e B). Na tabela B tenho 2 campos: Status e Cor com 3 registros:Respectivamente Disponivel - Laranja; Reservado - Verde; Vendido - Vermelho. Tenho um menú de lista em minha página que mostra os três "Status" (disponivel, reservado e vendido) e que grava na tabela A a respectiva cor. Até ai, td certo. O problema é que quando abro a página, a opção selecionada pelo menú de lista é sempre a primeira.. "disponível". Preciso que ele selecione o Status referente à cor gravada no A.

Segue o código do menú de lista:

<%
	strQ = "SELECT * FROM B ORDER BY Status ASC"
Set objRS2 = objCon.Execute(strQ)
 
Response.Write "<SELECT NAME='menu'>"
 
If Not objRS2.EOF Then
  While Not objRS2.EOF
	Response.Write "<OPTION VALUE='" & objRS2("Cor") & "'"
	If Request("menu") = objRS2("Status") Then Response.Write " selected"
	Response.Write ">" & objRS2("Status") & "</OPTION>"
	objRS2.MoveNext
  Wend
End If
 
Response.Write "</SELECT>"
 
objCon.Close

Set objRS2 = Nothing
Set objCon = Nothing 
%>

A linha que deve arrumar é essa:

If Request("menu") = objRS2("Status") Then Response.Write " selected" ???

Espero ajuda!!

valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só um adendo: acho q TODOS q postam aqui esperam ajuda.. não ??? heheh

 

Siga esse meu exemplo... entenda a lógica e aplique à você...

 

<select id = "Origem<%=i%>">
			<option value = "1" <%If (RS("Origem") = "1") Then Response.Write("selected")%>> Bélgica </option>
			<option value = "2" <%If (RS("Origem") = "2") Then Response.Write("selected")%>> China </option>
			<option value = "3" <%If (RS("Origem") = "3") Then Response.Write("selected")%>> Turquia </option>
			<option value = "4" <%If (RS("Origem") = "4") Then Response.Write("selected")%>> Índia </option>
			</select>

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não consegui aplicar. Sou novato em asp.

Troquei o meu request: de

If Request("menu") = objRS2("Status") para

If Request("menu") = objRS2("Cor")

mas não sei o que é <%=i%>.

Select Name é o msm que Select ID?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Atenção para o DTD que você está utilizando. XHTML exige selected="selected". HTML 4 permite selected.

 

E não, o que você quer comparar provavelmente não é com o status. Nesses loops, o que importa é o que está indo como conteúdo do value então você provavelmente quer:

 

<%

 

if( selected = objRS2("Cor") ) then Response.write("selectec='selected'")

 

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode fazer assim:

 

<select name="cor" size="1" Onchange="window.navigate('pag_atual.asp?pais='+frmteste.cor.value)"> 
<% while not rscor.eof%> 
<option value="<%=rs("cor")%>"> 
<% if varcor=rs("cor") then 
response.write("Selecionado") 
end if%> 
<%=rs("status")%> 
</option> 
<% rscor.movenext 
wend%> 
</select>

qualquer dúvida só postar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Foi o que eu havia feito..troquei o request de status pra cor, pra comparar com o value..mas não fucionou...tirei o request e coloquei essa linha que passou, tbm não..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então..esse request tá errado ai, né? Pelo q entendi, ele deveria pegar informações de cookies ou da url (tô certo?), o que não é o caso.

Tirei-o, coloquei

if( selected = objRS2("Hexa") ) then Response.write("selected='selected'")

e ele ainda puxa a 1° opção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos ver se eu entendi...

 

você tem a tabela A e a B..

 

Na B você tem Status e Cor.. e na A você tem Nome e Status.. certo ??

 

Vamos supor que na B você Tenha os seguintes dados: 1 - Azul, 2 - Vermelho e 3 - Amarelo...

 

E na A você tem lá: Dark - 1, Ted - 2 e Argon - 3

 

E você tem um Select onde mostra qual a cor de cada pessoa da tabela A... certo ???

 

Vamos à lógica

 

Vamos mostrar qual e a cor de cada pessoa

 

Dark - Azul

Ted - Vermelho

Argon - Amarelo

 

Então vamos mostrar isso

 

Dark:
<select>
<option value = "1"> Azul </option>
<option value = "2"> Vermelho </option>
<option value = "3"> Amarelo </option>
</select>

Ted:
<select>
<option value = "1"> Azul </option>
<option value = "2"> Vermelho </option>
<option value = "3"> Amarelo </option>
</select>

Argon:
<select>
<option value = "1"> Azul </option>
<option value = "2"> Vermelho </option>
<option value = "3"> Amarelo </option>
</select>

Ok.. mostramos.... agora vamos resolver o seu problema.....

 

'Primeiro vamos fazer a busca das pessoas na tabela A

<%

SELECT Pessoa, Cor FROM Tabela A

'Selecionamos as pessoas e exibiremos elas abaixo

While NOT rs.EOF

%>
<%=Rs("Nome")%>:
<select>
<option value = "1"> Azul </option>
<option value = "2"> Vermelho </option>
<option value = "3"> Amarelo </option>
</select>

<%
Rs.MoveNext
Wend
%>

Fizemos a exibição.... agora vamos fazer ele selecionar a cor certa no SELECT

 

<%

SQL = "SELECT Pessoa, Cor FROM Tabela A"
Set Rs = Conn.Execute(SQL)

While NOT rs.EOF

SQL1 = "SELECT Status FROM Tabela B WHERE Cor = '" & RS("Cor") & "'"
Set Rs1 = Conn.Execute(SQL1)



%>
<%=Rs("Nome")%>:
<select>
<option value = "1"<% If (Rs("Cor") = Rs1("Cor") Then Response.Write("selected") %>> Azul </option>
<option value = "2" <% If (Rs("Cor") = Rs1("Cor") Then Response.Write("selected") %>> Vermelho </option>
<option value = "3" <% If (Rs("Cor") = Rs1("Cor") Then Response.Write("selected") %>> Amarelo </option>
</select>

<%
Rs.MoveNext
Wend
%>

 

Bom.. a lógica é essa... agora é a sua vez..

 

Abraços...

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.