Foros del Web » Programando para Internet » Javascript »

seleccionar todos los items de un select multiple

Estas en el tema de seleccionar todos los items de un select multiple en el foro de Javascript en Foros del Web. Hola a todos .... Ojala puedan ayudarme.....veran ..... Tengo un select(origen) que se carga de datos de una base de datos.....y tengo otro select(destino) multiple ...
  #1 (permalink)  
Antiguo 20/10/2003, 18:00
Avatar de McManaman  
Fecha de Ingreso: agosto-2003
Ubicación: Ecuador - Guayaquil
Mensajes: 119
Antigüedad: 20 años, 8 meses
Puntos: 0
seleccionar todos los items de un select multiple

Hola a todos ....

Ojala puedan ayudarme.....veran .....

Tengo un select(origen) que se carga de datos de una base de datos.....y tengo otro select(destino) multiple en el cual voy a adicionar n items de mi select origen.....como hago para que al grabar los datos( o sea al hacer click en el boton grabar) se me sombreen todos los items de ese select(destino) para que pase los valores del URL??

otrra cosita....

<select name=destino[] multiple>
</select>

esta bien declarado para hacer lo que yo quiero?????

En fin lo que no quiero es pasar los items de este select a un campo oculto para pasarlos por la URL porque no se cuantos items vayan a seleccionar......, yo solo quiero que los items que esten en este select me vayan a otra pagina (insertar_items.php)

Gracias de antemano por ayuydarme
__________________
...Hay unos que saben TODO de nada y otros que saben NADA de TODO... think about it
  #2 (permalink)  
Antiguo 21/10/2003, 10:35
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, McManaman.

Si tu select fuera algo así:

<select id="select" multiple>

Podrías llamar a una función de esta forma:

seleccionar('select')

Y la función quedaría como sigue:

function seleccionar(obj) {
elem=document.getElementById(obj).options;
for(i=0;i<elem.length;i++)
elem[i].selected=true;

Espero que te sirva. Saludos,
  #3 (permalink)  
Antiguo 21/10/2003, 10:44
Avatar de McManaman  
Fecha de Ingreso: agosto-2003
Ubicación: Ecuador - Guayaquil
Mensajes: 119
Antigüedad: 20 años, 8 meses
Puntos: 0
Gracias JavierB....dime una cosita mas ... y en la otra pagina como recojo todos los items que paso????
Asi???:
select.elem[i] ????

Gracias por tu ayuda
__________________
...Hay unos que saben TODO de nada y otros que saben NADA de TODO... think about it
  #4 (permalink)  
Antiguo 21/10/2003, 16:36
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola McManaman:

Para recoger parámetros en otra página html debes usar un formulario con el método get y el action a una página html...

De esta manera al hacer submit (envío) se pasan los valores por la línea de dirección. La manera es:
laPagina.html?param1=valor1&param2=valor2

Se lee mediante location.search a partir del elemento 1 ya que el 0 es "?".

Lo que yo hago es tratar la linea con split (En las FAQs recuerdo haber puesto una explicación de lo que hace en un tema de reemplazo de cadenas de texto)

Poniendo:
var entrada = location.search.split("?")[1].split("&");

"entrada" se convierte en un array de 2 elementos
entrada[0] = "param1=valor1"
... y ...
entrada[1] = "param2=valor2"

Con respecto a los select múltiples, cada elemento seleccionado se pasa en la misma línea repitiendo el nombre de la variable por cada valor seleccionado, así que creo que lo conveniente es poner un array.

Bueno, si necesitas más ayuda, avisa.

Saludos
  #5 (permalink)  
Antiguo 21/10/2003, 16:41
Avatar de McManaman  
Fecha de Ingreso: agosto-2003
Ubicación: Ecuador - Guayaquil
Mensajes: 119
Antigüedad: 20 años, 8 meses
Puntos: 0
y como pongo el array ??? donde lo pongo y como recogo ese array???
__________________
...Hay unos que saben TODO de nada y otros que saben NADA de TODO... think about it
  #6 (permalink)  
Antiguo 22/10/2003, 01:03
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola otra vez:

Te he preparado un ejemplo con html y javascript:

formulario ejemplo (prueba132.html):

Código PHP:
<html>
<
head>
    
select múltiple
</head>
<
body>
<
form name=prueba action=prueba132bis.html method=get>
<
select multiple name=op>
<
option selected value="selección_1">op1</option>
<
option selected value="selección_2">op2</option>
<
option selected value="selección_3">op3</option>
<
option selected value="selección_4">op4</option>
</
select>
<
input type=submit value=abrir >
</
form>
</
form>
</
body>
</
html
gestión de formulario ejemplo (prueba132bis.html):

Código PHP:
<html>
<
body>
<
h3>Procesando formulario:</h3>
<
script language=javascript>
var 
entrada location.search.split("?")[1].split("&");
var 
ops = new Array();
var 
indice_Array 0;
for (var 
0entrada.length++)
    if (
entrada[i].split("=")[0] == "op")
        
ops[indice_Array ++] = unescape(entrada[i].split("=")[1]);
var 
mensaje "Variable ops:<br><ul type=disc>";
for (var 
0ops.length++)
    
mensaje += "<li>" ops[i] + "</li>";
mensaje += "</ul>";
document.writeln(mensaje);
</script>
</body>
</html> 
Pero esto no te va a servir si el formulario tiene que gestionarse en el servidor con asp, php, perl u otro lenguaje.

Saludos
  #7 (permalink)  
Antiguo 22/10/2003, 09:29
Avatar de McManaman  
Fecha de Ingreso: agosto-2003
Ubicación: Ecuador - Guayaquil
Mensajes: 119
Antigüedad: 20 años, 8 meses
Puntos: 0
Gracias caricatos pero si....si tiene que gestionarse en el servidor con php pero gracias por tu ayuda .......Chau

PD...en serio muchisimas gracias
__________________
...Hay unos que saben TODO de nada y otros que saben NADA de TODO... think about it
  #8 (permalink)  
Antiguo 15/02/2013, 10:21
Avatar de linux_car  
Fecha de Ingreso: agosto-2010
Mensajes: 18
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: seleccionar todos los items de un select multiple

te recomiendo que uses este codigo con Jquery

supplier='1,2,3,4,5,6';//estos son ids que recibo de mysql
if(supplier){
var idSupplier=supplier.split(',');
$('#cboSupplier>option').each(function(index, element) {
for(x=0;x<idSupplier.length;x++){
if($(this).attr('value')==idSupplier[x]){
$(this).attr({'selected':'selected'})
}
}
});
}
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 15:14.