Foros del Web » Programando para Internet » ASP Clásico »

Valor repetido en un combo

Estas en el tema de Valor repetido en un combo en el foro de ASP Clásico en Foros del Web. hola, tengo un combo con un listado de opciones: 'primero', 'segundo' y ''ver todo'. este combo tiene un ultimo value con un "Request.QueryString("consulta")" que recoge ...
  #1 (permalink)  
Antiguo 15/09/2008, 01:38
 
Fecha de Ingreso: septiembre-2005
Mensajes: 202
Antigüedad: 18 años, 8 meses
Puntos: 0
Sonrisa Valor repetido en un combo

hola,
tengo un combo con un listado de opciones: 'primero', 'segundo' y ''ver todo'.

este combo tiene un ultimo value con un "Request.QueryString("consulta")" que recoge el valor "consulta" y lo muestra como opción selecionada, este valor "consulta" se ha enviado previamente desde otra pàgina desde un combo similar con las tres opciones anteriores ( 'primero', 'segundo' y ''ver todo').

De manera que en este combo se verá como opcion selecionada la que se ha enviado con la variable "consulta" y desplegando el combo aparecerán ademas las 3 opciones primeras.

El problema es que la opcion selecionada siempre repite una de las tres opciones posibles, y aparece dos veces, la escrita "a pelo" en el combo y el Request.QueryString que recoge.

Alguien sabe si existe alguna manera para que no se repita la opcion selecionada. Es decir si el Request.QueryString recoge el valor 'primero' , ya no aparezca 'primero' en los values anteriores...




<select name="consulta" class="texto_desplega" id="consulta">
<option value="primero">primero</option>
<option value="segundo">segundo</option>
<option value="ambos">ver todo</option>

<option value="<%=Request.QueryString("consulta")%>" selected="selected" ><%if Request.QueryString("consulta")="ambos" Then Response.Write("ver todo")
if Request.QueryString("consulta")="primero" Then Response.Write("primero")
if Request.QueryString("consulta")="segundo" Then Response.Write("segundo")
%></option>
</select>
  #2 (permalink)  
Antiguo 15/09/2008, 04:29
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 5 meses
Puntos: 126
Respuesta: Valor repetido en un combo

Hola

Puedes usar un select

Código PHP:
<&#37;opt = Request.QueryString("consulta")%>

<select>
<% 
Select Case opt
Case  ambos %> 
<
option value="ambos" selected="selected" >ver todo</option>
<
option value="primero">primero</option>
<
option value="segundo">segundo</option>
<%
Case 
primero%>
<
option value="ambos">ver todo</option>
<
option value="primero" selected="selected">primero</option>
<
option value="segundo">segundo</option>
<%
Case 
segundo%>
<
option value="ambos">ver todo</option>
<
option value="primero">primero</option>
<
option value="segundo" selected="selected">segundo</option>
<%
end Select%>
</
select
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />

Última edición por Adler; 15/09/2008 a las 06:50
  #3 (permalink)  
Antiguo 15/09/2008, 05:41
 
Fecha de Ingreso: septiembre-2005
Mensajes: 202
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: Valor repetido en un combo

me da error al cerrar en End select ¿¿??
  #4 (permalink)  
Antiguo 15/09/2008, 06:49
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 5 meses
Puntos: 126
Respuesta: Valor repetido en un combo

Hola

Se me fue la pinza. Ya está editado, pruebalo

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #5 (permalink)  
Antiguo 15/09/2008, 08:04
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Respuesta: Valor repetido en un combo

Nunca se me hubiera ocurrido hacer lo que Adler sugiere , supongo funciona, pero "lo normal", "lo convencional" es algo como esto:
Código:
<%
opt = Request.QueryString("consulta")
%>

<select name="consulta" class="texto_desplega" id="consulta">
<option value="primero" <%=iif(opt="primero", " selected ", "")%>>primero</option>
<option value="segundo" <%=iif(opt="segundo", " selected ", "")%>>segundo</option>
<option value="ambos" <%=iif(opt="ambos", " selected ", "")%>>ver todo</option>
</select>

<%
function iif(condition,isTrue,isFalse)
    if (condition) then
       iif = isTrue
    else
       iif = isFalse
    end if
end function
%>
Si no te gusta la función iif (que debe ir en tu archivo de funciones globales si es que usas alguno), pues colocas el If-Then completo en cada opción del combo.
  #6 (permalink)  
Antiguo 15/09/2008, 09:07
 
Fecha de Ingreso: septiembre-2005
Mensajes: 202
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: Valor repetido en un combo

Adler, me temo que no funciona... hace la consulta, no conserva el valor en el combo
Myakire, me podrias indicar como es con el if then (no me funciona de la forma que pruebo)
  #7 (permalink)  
Antiguo 15/09/2008, 15:01
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Respuesta: Valor repetido en un combo

y cómo lo pruebas?

Sería algo así:
Código ASP:
Ver original
  1. <select name="consulta" class="texto_desplega" id="consulta">
  2. <option value="primero" <% if opt="primero" then response.write " selected " End If%>>primero</option>
  3. <option value="segundo" <% if opt="segundo" then response.write " selected " End If%>>segundo</option>
  4. ...
  5. etc
  6. ...
  7. </select>
  #8 (permalink)  
Antiguo 16/09/2008, 02:24
 
Fecha de Ingreso: septiembre-2005
Mensajes: 202
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: Valor repetido en un combo

si te pongo como lo escribia, te da la risa...

gracias Myakire, funciona perfectamente
  #9 (permalink)  
Antiguo 16/09/2008, 10:46
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Respuesta: Valor repetido en un combo

dale, mostranos a si nos reímos todos ;)
__________________
...___...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:24.