Foros del Web » Programando para Internet » Javascript »

3 listas de seleccion multiple.

Estas en el tema de 3 listas de seleccion multiple. en el foro de Javascript en Foros del Web. hola tengo tres listas de seleccion multiple de esta manera <select name="recibos" size="5" multiple="multiple" id="recibos"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> <select name="anulados" size="5" ...
  #1 (permalink)  
Antiguo 21/10/2008, 06:54
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 3 meses
Puntos: 4
3 listas de seleccion multiple.

hola tengo tres listas de seleccion multiple de esta manera
<select name="recibos" size="5" multiple="multiple" id="recibos">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>


<select name="anulados" size="5" multiple="multiple" id="anulados">
<option value="2">2</option>
<option value="3">3</option>
</select>


<select name="entregados" size="5" multiple="multiple" id="entregados">
<option value="2">2</option>
<option value="3">3</option>
</select>


cada uno va del 1 al 100 pero lo que deseo es ke lo qeu seleccione en cualquera de los 3 listas se desaparezca de las otras dos para ke no pueda ser seleccionado en ninguno mas..
ejemplo
si selecciono el 1 y el 2 en el primero.. se debe desaparecer el 1 y el dos de las otras dos listas. pero si las deselecciono deben volver a aparecer.

y asi para los otros combos. si selecciono el 2 y el 3 se deben desaparecer en los combos 1 y 2.

alguien sabe como hacer esto?
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #2 (permalink)  
Antiguo 21/10/2008, 11:58
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: 3 listas de seleccion multiple.

Esto te puede ayudar.
http://www.forosdelweb.com/f13/como-...script-435103/

Podrias agregar y eliminar las opciones de los select cada vez que seleccionas o deseleccionas.

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #3 (permalink)  
Antiguo 22/10/2008, 08:49
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 3 meses
Puntos: 4
Respuesta: 3 listas de seleccion multiple.

Hola,
gracias por el link. se me aclararon muchas dudas y entendi un poco mas del funcionamiento de las listas.
ahora bien no soy experto en javascript mas bien me considero un novato entiendo lo basico y no sabaria como hacer lo qeu me pidio el cliente de las 3 listas y ke al clickear en una se eliminen esas seleccionadas en los otros dos y si las desclickeo vuelvan a aparecer

alguien me peude hechar una manito?
gracias.
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #4 (permalink)  
Antiguo 22/10/2008, 13:22
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: 3 listas de seleccion multiple.

Pues hombre ya te he dado el link que te dice como agregar y quitar options a un select, solo es de aplicarlo a tu caso.
Por ejemplo, usando el onChange de las listas o combos, llamas a una función que quitará los options de los otros dos y agregará a esos mismos los que no tenian, para eso debes usar ajax o tener los valores en un array o si no te causa problemas el recarge de páginas usar un lenguaje de lado servidor
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #5 (permalink)  
Antiguo 22/10/2008, 13:26
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 3 meses
Puntos: 4
Respuesta: 3 listas de seleccion multiple.

exactamente como dije en el mensaje anterior soy super novato.. no entiendo casi nada de javascript no sabria como arrancar a progamar estos 3 combos. y ajax mucho menos.
igual gracias por el link me ayuda para enterder ciertas cosas.
alguien tiene una idea de como arrancar con este problema que tengo?
gracias.
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #6 (permalink)  
Antiguo 22/10/2008, 14:50
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: 3 listas de seleccion multiple.

Los datos los tomas de una DB?
los values que colocas son id`s de las tablas?
explicanos esto a ver.

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #7 (permalink)  
Antiguo 22/10/2008, 14:56
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 3 meses
Puntos: 4
Respuesta: 3 listas de seleccion multiple.

si los datos los saco de una bd con asp.
son unos recibos de caja ke traen en el value el ID y en lo qeu se muestra en pantalla el nombre del recibo.. y los 3 listas son exactamente iguales. traen los mismos datos.

<option value="<%=rs1("id")%>"><%=rs1("recibocaja")%></option>
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #8 (permalink)  
Antiguo 22/10/2008, 15:13
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: 3 listas de seleccion multiple.

Uhmm pero no sería mejor en este caso tener un combo donde tengas estos valores y tres botones, cuya función sea por ejemplo enviar a otros tres combos llamados recibos, anulados y entregados??
espero haberme explicado.
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #9 (permalink)  
Antiguo 22/10/2008, 15:17
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 3 meses
Puntos: 4
Respuesta: 3 listas de seleccion multiple.

pues si puede ser otra opcion.
tener un solo combo lleno con todos los recibos. y otros tres combos vacios donde los iria llenando a partir del primero por medio de un boton de agregaro quitar.
es asi que me dices?
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com

Última edición por lexus; 22/10/2008 a las 15:28
  #10 (permalink)  
Antiguo 22/10/2008, 15:35
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: 3 listas de seleccion multiple.

Sip, eso es lo que te digo, te sirve??
Ahi va un ejemplo que te servirá muchisimo
Código PHP:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title>Untitled Document</title>
<
script>
function 
Accion(IDOrigenIDDestino)
{
    
combo=document.forms['form1'].elements[IDOrigen];
    
total combo.options.length;
    
valorcombo.options[combo.selectedIndex].value;
    
textocombo.options[combo.selectedIndex].text;
    
variable=new Option(texto,valor);
    
destino=document.forms['form1'].elements[IDDestino];
    
destino.options[destino.options.length]=variable;
    
combo.options[combo.selectedIndex]=null;
}
function 
Quitar(IDCombo)
{
    
Accion(IDCombo'recibos');
}
function 
Agregar(IDCombo)
{
    
Accion('recibos'IDCombo);
}
</script>
</head>

<body>
<form id="form1" name="form1" method="post">
<select name="recibos" size="5" id="recibos">
<option value="1">uno</option>
<option value="2">dos</option>
<option value="3">tres</option>
</select>
<input type="button" value="Agregar a Anulados" onclick="Agregar('anulados')"/>
<input type="button" value="Agregar a Entregados" onclick="Agregar('entregados')"/>
<select name="anulados" size="5" id="anulados"></select><input type="button" value="Quitar" onclick="Quitar('anulados')"/>
<select name="entregados" size="5" id="entregados"></select><input type="button" value="Quitar" onclick="Quitar('entregados')"/>
</form>
</body>
</html> 
Lo unico seria generar la consulta
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.

Última edición por the_web_saint; 22/10/2008 a las 15:57
  #11 (permalink)  
Antiguo 22/10/2008, 16:06
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 3 meses
Puntos: 4
Respuesta: 3 listas de seleccion multiple.

excelente.. muchas gracias al parecer es exactamente lo que necesito voy a adaptarlo mis necesidades a ver si logro hacer ke funcione y te comento como me fue..
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #12 (permalink)  
Antiguo 22/10/2008, 19:12
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 3 meses
Puntos: 4
Respuesta: 3 listas de seleccion multiple.

Hola nuevamente gracias por la ayuda ya lo probe y me funciono bien. aunke me salieron dos cosas nuevas.
hay posibilidad de hacerlo con seleccion multiple para no tener ke agregar o quitar de uno a uno? es ke como son 100 o mas recibos se vuelve tedioso la labor de agregar o quitar cada recibo.

<select name="recibos" size="5" multiple="multiple" class="combo" id="recibos" >

y la otra es como hago para que no salga el boton de quitar o agregar si no tiene recibos seleccionados, o que quede disabled ya que me saca error si se oprime el boton de agregar o quitar sin recibos seleccionado.
gracias por la colaboracion
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com

Última edición por lexus; 22/10/2008 a las 19:27
  #13 (permalink)  
Antiguo 23/10/2008, 10:37
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: 3 listas de seleccion multiple.

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title>Untitled Document</title>
<
script>
function 
Accion(IDOrigenIDDestino)
{
    
combo=document.forms['form1'].elements[IDOrigen];
    
total combo.options.length;
    
destino=document.forms['form1'].elements[IDDestino];
    for(
i=0i<totali++)
    {
         if (
combo.options[i].selected)
         {
            
variable=new Option(combo.options[i].textcombo.options[i].value);
            
destino.options[destino.options.length]=variable;
            
combo.options[i]=null;
            
total--;
            
i--;
         }
    }
    
    
}
function 
Quitar(IDCombo)
{
    
Accion(IDCombo'recibos');
    
document.getElementById('q'+IDCombo).disabled=true;
}
function 
Agregar(IDCombo)
{
    
Accion('recibos'IDCombo);
}
function 
habilitar(IDBoton)
{
    
document.getElementById(IDBoton).disabled=false;
}
</script>
</head>

<body>
<form id="form1" name="form1" method="post">
<select name="recibos" size="5" id="recibos" multiple="multiple">
<option value="1">uno</option>
<option value="2">dos</option>
<option value="3">tres</option>
</select>
<input type="button" value="Agregar a Anulados" onclick="Agregar('anulados')"/>
<input type="button" value="Agregar a Entregados" onclick="Agregar('entregados')"/>
<select name="anulados" size="5" id="anulados" onchange="habilitar('qanulados')" multiple="multiple"></select>
<input type="button" value="Quitar" id="qanulados" onclick="Quitar('anulados')" disabled="disabled"/>
<select name="entregados" size="5" id="entregados" onchange="habilitar('qentregados')" multiple="multiple"></select>
<input type="button" value="Quitar" id="qentregados" onclick="Quitar('entregados')" disabled="disabled"/>
</form>
</body>
</html> 
Espero te sirva
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #14 (permalink)  
Antiguo 23/10/2008, 13:23
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 3 meses
Puntos: 4
Respuesta: 3 listas de seleccion multiple.

Hola,
muchisimas gracias quedo excelente, funciona a las mil maravillas. me podrias colaborar con lo ultimo y ya cerramos el tema? que pena tanta molestadera.
es que al enviar el formulario como los combos que llene quedan sin seleccionar me llegan vacios. hay forma de que asi esten sin seleccionar me envie todo el contenido de cada combo? o como seria esta parte.


y lo otro es ke el cliente me pidio un 4 combo donde debo mostrar la suma de todos los recibos entregados.
por decir. si en el combo anulados quedo asi(1A, 2A, 3A, 4A) en el combo de PL (8A, 10A) y en el de cobros(15A, 20A)

que salga un combo resultante donde esten todos los entregados asi
entregados (1A, 2A, 3A, 4A,8A, 10A,15A, 20A)

sera posible esto?
gracias qeu pena por molestarte tanto.
gracias por todo.
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #15 (permalink)  
Antiguo 23/10/2008, 13:50
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: 3 listas de seleccion multiple.

Usa esta función para seleccionar todos las opciones de un select, llamala exactamente antes de enviar el formulario, enviandole el id del select, en tu caso debes llamarla dos o tres veces, no se cuales valores necesitas enviar por el formulario.
Código PHP:
function marcarTodos(id
{
    var 
els document.getElementById(id).options;
    for(
1els.lengthi++)
        
els[i].selected true;

Lo del cuarto combo no lo entendí.

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #16 (permalink)  
Antiguo 23/10/2008, 13:57
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 3 meses
Puntos: 4
Respuesta: 3 listas de seleccion multiple.

ok gracias,
lo del cuarto combo te lo explico..
tenemos un combo lleno, uno inicial donde estan todos los recibos..
a partir de este vamos llenando los otros combos.

pero mi cliente quiere qeu ademas de eso. al final haya otro combo donde esten todos los recibos que he agregado.

o sea si agrego/quito un recibo a 'anulados'. debe kedar en 'anulados' y en el combo de 'entregados' tambein
si agrego/quito uno en 'cobros', tiene que quedar en en 'cobros' y en 'entregados' tambien.
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #17 (permalink)  
Antiguo 23/10/2008, 14:39
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: 3 listas de seleccion multiple.

Ese combo tendría entonces la concatenación de las opciones de los otros dos select?
Y como para que querrian esto?
No entiendo su funcionalidad....

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #18 (permalink)  
Antiguo 23/10/2008, 14:43
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 3 meses
Puntos: 4
Respuesta: 3 listas de seleccion multiple.

exacto la concatenaicion de las otras 3 selects (anulados, PL, cobros)

la verdad la funcionalidad no es mucha. es simplemente informativa solo apra visualizar los recibos totales ke fueron entrgados en la transaccion pero nadamas. esainformacion no se almacena en ningun lado solo se muestra ahi en el cuarto select y ya.
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #19 (permalink)  
Antiguo 23/10/2008, 14:55
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: 3 listas de seleccion multiple.

Espera, si es la concatenación de las otras tres select, entonces siempre tendrá los mismos valores. Debe ser la concatenación de las dos select que al principio estan vacías y se cargan con el select principal.

Cierto?
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #20 (permalink)  
Antiguo 23/10/2008, 14:59
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 3 meses
Puntos: 4
Respuesta: 3 listas de seleccion multiple.

cierto, es la contatenacion de los selects ke estaban vacios y ahora estan llenos.
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #21 (permalink)  
Antiguo 23/10/2008, 15:38
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: 3 listas de seleccion multiple.

Bueno solo debes agregar ese select, asignarle un id y nombre(preferiblemente iguales), luego de esto agregarlo a la las funciones de agregar y quitar, puedes hacerlo debajo de donde se agregan y se quitan las de los otros select.

Suerte y Saludos.
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #22 (permalink)  
Antiguo 26/10/2008, 20:21
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 3 meses
Puntos: 4
Respuesta: 3 listas de seleccion multiple.

oye muchisimas gracias por todo, quedo mas que perfecto, justo lo qeu necesitaba.. lo ultimo no logre hacerlo pero igual con esto que tengo es mas que suficiente ya.
gracias..
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #23 (permalink)  
Antiguo 30/10/2008, 08:05
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 3 meses
Puntos: 4
Respuesta: 3 listas de seleccion multiple.

Hola como estas
mira que ya usando bastantes veces el codigo que me has colaborado..
la parte que sirve para seleccionar las tres listas y enviar los valores al parecer funcionaba bien pero mirandolo detenidamente al darle submit, se seleccionaban todos los recibos en los 3 combos, menos el primer recibo de uno de ellos. nose porke siempre queda sin seleccionar el primer recibo de uno de los 3. y ese recibo nunca llegaba a los datos enviados. qeui podra pasar?

si los selecciono manualmente todos ahi si me llegan. pero si dejo ke se seleccionen al oprimir submit, llegan todos menos el primero.
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com

Última edición por lexus; 30/10/2008 a las 08:19
  #24 (permalink)  
Antiguo 30/10/2008, 08:44
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: 3 listas de seleccion multiple.

Solo debes cambiar que en la función que la i empieze de 0 y no de uno, de esta forma:
Código PHP:
function marcarTodos(id
{
    var 
els document.getElementById(id).options;
    for(
0els.lengthi++)
        
els[i].selected true;

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #25 (permalink)  
Antiguo 30/10/2008, 08:52
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 3 meses
Puntos: 4
Respuesta: 3 listas de seleccion multiple.

excelente, ahora sip.
muchisimas gracias.
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
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 10:40.