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

Seleccionar items de un combo y mostrar en un text...

Estas en el tema de Seleccionar items de un combo y mostrar en un text... en el foro de ASP Clásico en Foros del Web. Saludos amigos del web, espero esten todos muy bien. Me gustaría saber si pueden ayudarme en el siguiente problema: Tengo un combo, el cual lo ...
  #1 (permalink)  
Antiguo 12/12/2007, 17:53
 
Fecha de Ingreso: noviembre-2007
Mensajes: 123
Antigüedad: 16 años, 6 meses
Puntos: 0
Pregunta Seleccionar items de un combo y mostrar en un text...

Saludos amigos del web, espero esten todos muy bien. Me gustaría saber si pueden ayudarme en el siguiente problema: Tengo un combo, el cual lo lleno de datos de una tabla (cliente), a través de una consulta sql, el nombre del campo con el que lleno el combo es "nombre_cliente". Una vez llenado el combo, necesito que al seleccionar un items del mismo, me muestre el campo codigo_cliente de la misma tabla en un campo text, el cual ha sido seleccionado del combo. Ejemplo: Selecciono el nombre del cliente en el combo y debe aparecer el codigo_cliente en un campo text de la página. Espero me hayan entendido.

Muestro el código asp con el que lleno el combo, por si lo neceseitan de guía:

dim id1
id1 = Session("IdVendedor")

ssql = "select * from cliente where id_vendedor = " & id1 & " order by nombre_cliente"
Set con = Server.CreateObject("ADODB.Connection")
con.open "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & server.MapPath("bdsiop.mdb")
set rs = con.Execute(sSQL)
VarNombreCliente = rs.Fields.Item("nombre_cliente")
var = 1
if Err=0 then%>
<select id="ComboCliente" size="1" name="ComboCliente">
<option value="0">Clientes</option>
<%while RS.EOF=false
response.Write "<option value=" & var & ">" & rs.Fields.Item("nombre_cliente").value & "</option>"
rs.movenext
var = var + 1
wend
response.Write "</select>"
end if
rs.close
con.close

Última edición por garciamod270304; 12/12/2007 a las 18:17
  #2 (permalink)  
Antiguo 18/12/2007, 11:34
Avatar de TurKa  
Fecha de Ingreso: enero-2003
Ubicación: Gerli, Avellaneda
Mensajes: 543
Antigüedad: 21 años, 4 meses
Puntos: 4
Re: Seleccionar items de un combo y mostrar en un text...

Hola!
Tienes tres formas de resolverlo, las cuales dependen de otras funciones que necesites usar.

1) asignar como valor de cada option el código de cliente: esto solamente puedes hacerlo si no necesitas que el select de clientes te devuelva otro valor (ahora le asignas como valor el de la variables var que es incremental... tal vez ya tengas pensado otro uso y no te sirva esta función).

Ejemplo:
Código:
response.Write "<option value=" & rs.Fields.Item("codigo_cliente").value & ">" & rs.Fields.Item("nombre_cliente").value & "</option>"
2) refrescar la página al seleccionar una opción y allí realizar otra consulta SQL para conocer el código del cliente: esto depende en gran medida del resto de contenidos que tengas en la página, ya que a mayor cantidad de contenidos, mayor será el trabajo que deberás hacer. Generalmente es la alternativa que utilizo yo.

¿Cómo lo haces?
* Con JavaScript haces un submit() o location.href() según te convenga, cuando el usuario seleccione una opción (mediante el evento onChange de JavaScript).
* envías ya sea por variable URL o por formulario (POST) la ID del cliente
* si esa ID ha sido enviada, la recoges y generas una consulta a la DB para extraer el código de cliente que escribirás en el text

3) Cuando escribes las opciones del combo, aprovechas y vas guardando en un Array de JavaScript los códigos de cada cliente: tal vez la más útil pero pueda resultar más compleja (según como se lo mire).

Solo bastará con crear el Array, ir agregando cada elemento (el código del cliente) y cuando el usuario seleccione una opción, el índice de la misma, será el mismo que el del Array del cliente.

Ejemplo:
* El usuario selecciona la opción con índice 15
* Necesitarás entonces, el índice 15 de tu array --> miArray[15]

De todas formas, en todos los casos tienes que utilizar JavaScript. En la opción 2, algo más de ASP por la nueva consulta que deberás generar.

Espero haberte ayudado!
Saludos!!
__________________
Programación LAMP con Scrum y XP
www.eugeniabahit.com.com.ar
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:17.