Foros del Web » Programando para Internet » Javascript »

Copiar elemento seleccionado de un listbox a otro listbox

Estas en el tema de Copiar elemento seleccionado de un listbox a otro listbox en el foro de Javascript en Foros del Web. Hola! Tengo un problema relacionado con los dichosos listbox. Resulta que tengo un webform con 2 listbox. Al cargarse la página cada uno de estos ...
  #1 (permalink)  
Antiguo 20/04/2006, 04:41
 
Fecha de Ingreso: abril-2006
Mensajes: 166
Antigüedad: 18 años
Puntos: 0
Pregunta Copiar elemento seleccionado de un listbox a otro listbox

Hola!

Tengo un problema relacionado con los dichosos listbox.
Resulta que tengo un webform con 2 listbox. Al cargarse la página cada uno de estos listbox se rellenan con datos de una tabla de una base de datos.

Lo quiero hacer es que al seleccionar un elemento de uno de estos listbox y al hacer click en un botón de comando, este elemento que he seleccionado se pase al otro listbox, desapareciendo del primero. Esto mismo ya lo tengo hecho en Visual Basic pero resulta que tengo que hacerlo en JavaScript.
He oido algo que hay que utilizar algo de document.createElement("OPTION") pero nose...

Para que me entendáis mejor, os pongo el código aproximado de lo que intento:

//Añadir al listbox lbasignados el elemento seleccionado del listbox lbdisponibles:

document.form_disponibilidad.lbasignados.Items.Add (document.form_disponibilidad.lbdisponibles.text.v alue)

//Quitar elemento del listbox de lbdisponibles

document.form_disponibilidad.lbdisponibles.Items.R emoveAt(document.form_disponibilidad.lbdisponibles .SelectedIndex)


Muchas gracias por adelantado (no sabeis que comida de cabeza me estoy metiendo).
  #2 (permalink)  
Antiguo 20/04/2006, 05:31
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola aupaneu

En este otro mensaje preguntaron lo mismo:

http://www.forosdelweb.com/f13/pasar-parametros-select-otro-select-308770/

Saludos,
  #3 (permalink)  
Antiguo 20/04/2006, 05:34
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
O también así, que ya que lo he hecho...

Código:
<html>
<head>
<title>Untitled</title>
<script type="text/javascript">

function cambiar(este){
aa=(este==0)?"mes2":"mes";
bb=(este==0)?"mes":"mes2";
a=document.forms[0][aa];
b=document.forms[0][bb];
if(a.value==''){return false;}
seVa=a.options[a.selectedIndex];
a[a.selectedIndex]=null;
b.options[b.options.length]=seVa;

}
</script>
</head>

<body><form>
<select name="mes" size="13"><option value="*">Elija Mes</option>
<option value="0">Enero</option>
<option value="1">Febrero</option>
<option value="2">Marzo</option>
<option value="3">Abril</option>
<option value="4">Mayo</option>
<option value="5">Junio</option>
<option value="6">Julio</option>
<option value="7">Agosto</option>
<option value="8">Septiembre</option>
<option value="9">Octubre</option>
<option value="10">Noviembre</option>
<option value="11">Diciembre</option>
</select>
<input type="button"value="->" onclick="cambiar(1)">
<input type="button"value="<-" onclick="cambiar(0)">

<select name="mes2" size="13">
</select>
</form>
</body>
</html>
Un saludo!!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #4 (permalink)  
Antiguo 20/04/2006, 06:13
 
Fecha de Ingreso: abril-2006
Mensajes: 166
Antigüedad: 18 años
Puntos: 0
Hola de nuevo.

Antes de nada quería agradeceros al rapidez con la que habeís contestado.

He leido varias alternativas a mi problema, y he observado que los listbox los haceís con el select, mientras yo utilizo el elemento ListBox del cuadro de herramientas (trabajo en Visual Studio 2005 .NET).

Porque claro, si lo hago con el select, ¿Como relleno los listbox con datos de una tabla de una Base de Datos? porque el contenido de dichos listbox cambia según el contenido de las tablas de dicha base de datos.

La idea es cargar los datos en el evento pageload desde mipagina.aspx.vb

Espero que no os aburre demasiado, jeje.

Muchas gracias.
  #5 (permalink)  
Antiguo 20/04/2006, 08:50
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Para rellenar los contenidos lo puedes hacer con un bucle desde el mismo asp. O con JS con lo siguiente:

document.getElementById("id_del_select").options[n]=new Option("texto de la option","valor de la option");

siendo n el número de opción. Para que sea la última se puede cambiar el número por:
document.getElementById("id_del_select").options.l ength quedando:

combo=document.getElementById("id_del_select");
combo.options[combo.options.length]=new Option("texto","valor");

Espero que te haya servido!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #6 (permalink)  
Antiguo 21/04/2006, 00:49
 
Fecha de Ingreso: abril-2006
Mensajes: 166
Antigüedad: 18 años
Puntos: 0
Gracias por tu respuesta, pero sigo teniendo un pequeño problema:

Como hago para acceder desde JS a la información de uqe contienen los data adapter, data table, datarow que he utilizado para obtener los datos desde el archivo aspx.vb?
Yo he hecho un webform nuevo con 2 selects y e introducido los datos a tu manera (desde JS) y funciona. Pero al intentar además introducir algún dato desde el aspx.vb resulta que no me identifica los listbox 'primero' ni 'segundo', con lo cual ya no puedo introducir datos de mi base de datos.

Espero que me podais ayudar (me voy a poner de contento cuando lo solucione...)

Gracias por todo
  #7 (permalink)  
Antiguo 21/04/2006, 03:02
 
Fecha de Ingreso: abril-2006
Mensajes: 166
Antigüedad: 18 años
Puntos: 0
Hola.

Mejor voy a poner un nuevo tema para continuar, ya que ahora el problema es distinto.

Gracias a tod@s
  #8 (permalink)  
Antiguo 21/04/2006, 03:57
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Haz el favor de no poner un nuevo tema.
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #9 (permalink)  
Antiguo 21/04/2006, 04:03
 
Fecha de Ingreso: abril-2006
Mensajes: 166
Antigüedad: 18 años
Puntos: 0
Los siento KarLanKas, pero para cuando he leído tu mensaje ya habia puesto el tema nuevo...

De verdad lo siento, esq como cambiaba un poco de tema...
No obstante, no dejeis de contestar a la duda por favor

Hasta otra
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 23:05.