Foros del Web » Programación para mayores de 30 ;) » Programación General »

Selección múltiple

Estas en el tema de Selección múltiple en el foro de Programación General en Foros del Web. Hola, Tengo una lista para la selección por parte del usuario de una serie de datos para la administración de unos temas. Esta selección puede ...
  #1 (permalink)  
Antiguo 04/03/2003, 02:45
Avatar de Zoe79  
Fecha de Ingreso: diciembre-2001
Mensajes: 187
Antigüedad: 22 años, 5 meses
Puntos: 1
Selección múltiple

Hola,

Tengo una lista para la selección por parte del usuario de una serie de datos para la administración de unos temas. Esta selección puede ser múltiple y es aquí donde tengo el problema.

Teniendo un lista como esta:

<select name="idTema" size="2" multiple class="txt_base">
<cfloop query = "qGetTemas">
<option value="#idtema#">#nombre#</option>
</cfloop>
</select>

Cómo puedo sacar de la variable idTema, todos los valores #idTema# que han sido seleccionados?

Gracias.
__________________
Diseño integral / Desarrollo
Grupo Ikon
Imagen - Fotografía
Borja Lázaro Herrero
  #2 (permalink)  
Antiguo 04/03/2003, 02:52
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 4 meses
Puntos: 17
<select name="idTema" size="2" multiple class="txt_base">
<cfloop query = "qGetTemas">
<option value="#idtema#">#nombre#</option>
</cfloop>
</select>

En la página que recibe el formulario, idTema contendrá:

"" [texto vacio] si no se ha seleccionado nada.
"valor" [un valor] si se ha seleccionado un valor.
"valor1,valor2...,valorN" [una lista de valores separados por comas] si se han seleccionado varios valores.
__________________
M a l d i t o F r i k i
  #3 (permalink)  
Antiguo 04/03/2003, 09:34
Avatar de Zoe79  
Fecha de Ingreso: diciembre-2001
Mensajes: 187
Antigüedad: 22 años, 5 meses
Puntos: 1
Ok,

Tengo los datos separados por comillas, y me supongo que esta es una pregunta muy básica, pero nunca he sabido tratar bien las cadenas de caractares y en coldfusion desconozco las funciones para hacerlo. Como puedo sacar una vez recogidas los valores uno a uno?
__________________
Diseño integral / Desarrollo
Grupo Ikon
Imagen - Fotografía
Borja Lázaro Herrero
  #4 (permalink)  
Antiguo 04/03/2003, 09:52
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 4 meses
Puntos: 17
En las FAQ de Cold Fusion hay esto:

Cita:
Crear una lista es tan simple como crear una variable textual con los valores separados por comas.

<cfset lista = "lunes,martes,miércoles,jueves,viernes,sábado" >

Para añadir un valor a una lista existente, usaremos ListAppend():

<cfset lista = ListAppend(lista, "domingo")>

Para saber cuantos elementos tiene una lista, usaremos ListLen():

#ListLen(lista)# --> 7

Para recuperar un valor de una lista, usamos ListGetAt():

#ListGetAt(lista, 5)# --> sábado

Para saber si un elemento está en una lista, usaremos ListFind():

ListFind(lista, "domingo") --> 7 (la posición donde se encuentra)

Para eliminar una posición usaremos ListDeleteAt(), y para añadirla, ListInsertAt().

<cfset lista = ListDeleteAt(lista, 6)> <!--- eliminamos el sábado --->

<cfset lista = ListInsertAt(lista, 6, "sábado") <!--- Añadimos el sábado a su sitio --->
Usando esto, puedes recorrer todos los valores de una lista usando un loop.

Código:
<cfoutput>
<cfloop index="escalon" from="1" to="#ListLen(lista)#" step="1">
#escalon#: #ListGetAt(lista, escalon)#<br>
</cfloop>
</cfoutput>
__________________
M a l d i t o F r i k i
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 03:30.