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

Select cargado dinamicamente, que seleccione un valor

Estas en el tema de Select cargado dinamicamente, que seleccione un valor en el foro de ASP Clásico en Foros del Web. Hola amigos, tengo un inconveniente. Arme el siguiente script que permite cargar un select con los datos obtenidos desde una base de datos. Funciona barbaro. ...
  #1 (permalink)  
Antiguo 29/06/2006, 14:46
 
Fecha de Ingreso: junio-2006
Mensajes: 80
Antigüedad: 18 años
Puntos: 0
Exclamación Select cargado dinamicamente, que seleccione un valor

Hola amigos, tengo un inconveniente. Arme el siguiente script que permite cargar un select con los datos obtenidos desde una base de datos. Funciona barbaro. El problema que tengo es que quiero usarlo en un formulario que actualiza datos. Entonces el select se llena con todos los valores que existen en la db, y yo lo que quiero, es que ademas de eso, quede seleccionado el valor que tiene el usuario en sus datos. Por ejemplo. el combo se carga con los nros 1 ,2,3,4,5,6. El usuario pepe tiene en sus datos personales cargado que su nro es el 4. Entonces quiero que el combo, ademas de tener todos los nros cargados, muestre como seleccionado el 4.

les paso el codigo
(entiendase que la conexion esta hecha y funciona)

Código HTML:
<select name="categoria" id="categoria"><% ' combo categoria
categoria ="SELECT * from categorias_user order by id_categoria_user asc"

	rs_categoria.Open categoria, Conn
	do while not rs_categoria.eof
%>
          
<option value="<%=rs_categoria("id_categoria_user")%>" selected><%="("&rs_categoria("categoria")&") "&rs_categoria("descripcion_c")%></option>
          <%rs_categoria.movenext
              loop
%>
    </select> 
muchas gracias
  #2 (permalink)  
Antiguo 29/06/2006, 15:40
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
No sé cmo se llamará el recordset que tenés y que tra los datos del usuario (ni el campo en cuestión), pero yo los llamé rs_de_datos_del_usuario y campo_en_cuestion para el ejemplo. Modificalo con los datos reales y debería funcionar:

Código:
<option value="<%=rs_categoria("id_categoria_user")%>"<% if CInt(rs_categoria("id_categoria_user")) = CInt(rs_de_datos_del_usuario("campo_en_cuestion")) then response.write " selected=""selected""" %>><%="("&rs_categoria("categoria")&") "&rs_categoria("descripcion_c")%></option>
__________________
...___...
  #3 (permalink)  
Antiguo 30/06/2006, 08:05
 
Fecha de Ingreso: junio-2006
Mensajes: 80
Antigüedad: 18 años
Puntos: 0
Muchas gracias Al Zuwaga , me funciono barbaro!
  #4 (permalink)  
Antiguo 30/06/2006, 10:36
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años, 1 mes
Puntos: 39
Ke buen codigo Al Zuwaga yo hacia un relajo para poner el selected pero con esto se facilita todo muy bien SALUDOS:::::::::::
  #5 (permalink)  
Antiguo 30/06/2006, 12:09
 
Fecha de Ingreso: junio-2006
Mensajes: 80
Antigüedad: 18 años
Puntos: 0
aca les pongo el codigo completo (gracias Al zuwaga por tu aporte) asi ya lo tienen. Es para CARGAR DINAMICAMENTE UN SELECT Y ADEMAS SELECCIONAR EL VALOR ACTIVO EN LA DB.

Saludos y gracias por su ayuda

Código HTML:
<% ' aca conecto a la base (sql server en este caso)

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open  "Driver={SQL Server};Server=MT14647;Database=peregrina_db;Uid=administrativo;Pwd=madb8107" 
set rs = Server.CreateObject("ADODB.Recordset")
set rs_e_viv = Server.CreateObject("ADODB.Recordset")
set rs_comision = Server.CreateObject("ADODB.Recordset")
set rs_categoria = Server.CreateObject("ADODB.Recordset")

user= request.form("nombre_usuario") ' aca recogo una variable string (nombre usuario que viene de un formulario previo, y necesito para ejecutar la busqueda)

'consulta de tablas relacionales
sql ="SELECT * from socios INNER join comisiones on socios.id_comision=comisiones.id_comision INNER join estado_vivienda on socios.id_e_vivienda=estado_vivienda.id_e_vivienda INNER join categorias_user on socios.id_categoria_user=categorias_user.id_categoria_user WHERE socios.nombre_user_i = '"&user&"'"

rs.Open sql, Conn
%>
''''' hasta aca va antes que cualquier cosa (<html>)

' aca va el codigo del select (en el body por supuesto, donde quieras poner el select)

<select name="comision" id="select"><% ' combo comision
comision ="SELECT * from comisiones order by id_comision asc"

rs_comision.Open comision, Conn
do while not rs_comision.eof
%>

<option value="<%=rs_comision("id_comision")%>"<% if CInt(rs_comision("id_comision")) = CInt(rs("id_comision")) then response.write "selected" %>><%="("&rs_comision("s_comision")&") "&rs_comision("descripcion")%></option>
          <%rs_comision.movenext
              loop

            set rs_comision=nothing
%>
</select> 
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 21:40.