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

lista dependiente siempre se queda en primer valor

Estas en el tema de lista dependiente siempre se queda en primer valor en el foro de ASP Clásico en Foros del Web. Buenas, buscando buscando encontre como hacer una lista dependiente que seleccione datos de una base de datos, pero el problema es que simepre se me ...
  #1 (permalink)  
Antiguo 24/05/2005, 03:05
 
Fecha de Ingreso: abril-2005
Ubicación: Santiago Compostela
Mensajes: 213
Antigüedad: 20 años
Puntos: 0
lista dependiente siempre se queda en primer valor

Buenas, buscando buscando encontre como hacer una lista dependiente que seleccione datos de una base de datos, pero el problema es que simepre se me queda en el primer valor de la lista, es decir, tengo un combo de empresas y otro documentos empleados, cuando selecciono el una empresa me saca bien los documentos de los empleados, pero el primer combo (el de la empresa) vuelve al valor inicia, mi codigo es:

Código:
<td colspan="2" valign="top" ><select name="CONFRA" class="Combo" onChange="location.href('AltaEmbar23.asp?IdConfra=' + AddEmbar.CONFRA.options[AddEmbar.CONFRA.selectedIndex].value)">
	  <%
		Dim RsConfra
		Dim RsConfra_numRows

		Set RsConfra = Server.CreateObject("ADODB.Recordset")
		RsConfra.ActiveConnection = MM_gestion_STRING
		RsConfra.Source = "SELECT Id, NomeConfra FROM Confraria ORDER BY NomeConfra"
		RsConfra.CursorType = 0
		RsConfra.CursorLocation = 2
		RsConfra.LockType = 1
		RsConfra.Open()
		RsConfra_numRows = 0%>
      
		<% While (NOT RsConfra.EOF)
			IdConfra= RsConfra("Id")
			Confra=RsConfra("NomeConfra")
			c=request.QueryString("Confra")
			if c <>""  then
				if c = Confra then
				response.Write"<option value ="&IdConfra&"&Confra="&Confra&" selected>"&Confra&"</option>"
				elseif c <> Confra then
					response.Write"<option value ="&IdConfra&"&Confra="&Confra&">"&Confra&"</option>"
				end if
			else	
			response.write "<option value ="&IdConfra&"&Confra="&Confra&">"&Confra&"</option>"
			end if 
	  	 RsConfra.MoveNext()
		Wend%> 
		<%If (RsConfra.CursorType > 0) Then
 		 RsConfra.MoveFirst
		Else
 		 RsConfra.Requery
		End If%>
		<%
		RsConfra.Close()
		Set RsConfra = Nothing
		%>
      </select>
si alguno sabe a que se debe, se lo agradeceria.
un saludo
  #2 (permalink)  
Antiguo 24/05/2005, 05:40
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 20 años, 7 meses
Puntos: 18
primero:
para armar el valor del option, debes generar comillas dobles, porque seguramente algun nombre de compañia tenga espacios y te joderá la consulta.
response.Write"<option value ="""&IdConfra&"&Confra="&Confra&""" selected>"&Confra&"</option>"
segundo:
así no puedes recoger el valor de confra
deberías hacer un split en el valor del select confra
me imagino que mandas el formulario con method="GET"
nombre=split(request.querystring("confra"),"&confr a=")
c=nombre(1)

tercero:
esto es redundante

if c = Confra then
response.Write"<option value ="&IdConfra&"&Confra="&Confra&" selected>"&Confra&"</option>"
elseif c <> Confra then
response.Write"<option value ="&IdConfra&"&Confra="&Confra&">"&Confra&"</option>"
end if

preguntas si una cosa es igual a otra y, después, en el else preguntas si es distinto. (si una cosa no es igual a otra es que es distinta)
la estructura lógica es un simple
if
else
endif

saludos
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 12:59.