Foros del Web » Programando para Internet » Javascript »

Problemas con 2 select

Estas en el tema de Problemas con 2 select en el foro de Javascript en Foros del Web. Tengo 2 select, en el primero me salen ciudades, el segundo en principio sale vacio, cuando haces doble click en un registro del primer select ...
  #1 (permalink)  
Antiguo 16/01/2007, 03:51
 
Fecha de Ingreso: enero-2003
Ubicación: Zaragoza
Mensajes: 217
Antigüedad: 21 años, 3 meses
Puntos: 0
Problemas con 2 select

Tengo 2 select, en el primero me salen ciudades, el segundo en principio sale vacio, cuando haces doble click en un registro del primer select aparece en el segundo, hata ahí todo bien, pero despues intento guardar esa segunda lista en una base de datos y no me coge nada, solo coge datos si está seleccionado, y yo quiero que coja todos los registros del segundo select, ¿cómo lo puedo hacer?
__________________
Diseño web Zaragoza
  #2 (permalink)  
Antiguo 17/01/2007, 06:39
 
Fecha de Ingreso: enero-2003
Ubicación: Zaragoza
Mensajes: 217
Antigüedad: 21 años, 3 meses
Puntos: 0
Re: Problemas con 2 select

¿nadie sabe nada?
__________________
Diseño web Zaragoza
  #3 (permalink)  
Antiguo 17/01/2007, 07:58
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Re: Problemas con 2 select

Claro, sólo se envían al servidor los valores seleccionados. Debes asegurarte de que estén seleccionados antes de ser enviados.

Déjanos ver el código javascript que estás usando

un saludos
  #4 (permalink)  
Antiguo 17/01/2007, 08:57
 
Fecha de Ingreso: enero-2003
Ubicación: Zaragoza
Mensajes: 217
Antigüedad: 21 años, 3 meses
Puntos: 0
Re: Problemas con 2 select

Sería algo así:

Código HTML:
<html> 
<head> 
<script type="text/javascript"> 
function pasar() { 
    obj=document.getElementById('sel1'); 
    if (obj.selectedIndex==-1) return; 
    valor=obj.value; 
    txt=obj.options[obj.selectedIndex].text; 
    obj2=document.getElementById('sel2'); 
    opc = new Option(txt,valor); 
    eval(obj2.options[obj2.options.length]=opc);     
} 
function quitar() { 
    obj=document.getElementById('sel2'); 
    if (obj.selectedIndex==-1) return; 
    valor=obj.value; 
    txt=obj.options[obj.selectedIndex].text; 
    obj.options[obj.selectedIndex]=null; 
} 

</script> 
</head> 

<body> 
<select id="sel1" size="5"> 
<option value="1">Una ciudad</option> 
<option value="2">Otra ciudad</option> 
<option value="3">Mas cosas</option> 
<option value="4">poblaciones varias</option> 
<option value="5">varias poblaciones</option> 
</select>
<input name="button2" type="button" onClick="pasar()" value="Pasar">
<input name="button" type="button" onClick="quitar()" value="Quitar">
<select id="sel2" size="5"> 
</select> 
<br>
</body> 
</html> 
Faltaría poner un formulario y la página para recogerlo, me gustaría recoger "sel2" pero con $_POST[sel2] solo se recoge el valor seleccionado y yo quiero recoger todos
__________________
Diseño web Zaragoza
  #5 (permalink)  
Antiguo 17/01/2007, 10:00
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Re: Problemas con 2 select

Bueno, lo primero es habilitarle al segundo select la posibilidad de selección múltiple

Código:
<select id="sel2" size="5" multiple="multiple"> 
</select>
Luego puedes añadir al script una línea que se encargue de seleccionar la nueva opción insertada

Código:
function pasar() { 
    obj=document.getElementById('sel1'); 
    if (obj.selectedIndex==-1) return; 
    valor=obj.value; 
    txt=obj.options[obj.selectedIndex].text; 
    obj2=document.getElementById('sel2'); 
    opc = new Option(txt,valor); 
    eval(obj2.options[obj2.options.length]=opc);  
    obj2.options[obj2.options.length-1].selected = true
}
Pero si el usuario hace click en alguna opción se des-seleccionarán las otras, así que se puede crear una función que se encargue de seleccionarlas todas cada vez que el usuario termine de hacer algo con ese campo

Código:
function seleccionaTodos(){
	obj2=document.getElementById('sel2'); 
	opt = obj2.options.length
	for(m = 0; m < opt; m++){
		obj2.options[m].selected = true
	}
}
 y a tu campo le agregas una llamada a esa función cuando pierda el foco

<select id="sel2" size="5" multiple="multiple" onblur="seleccionaTodos()">
Con eso debería bastar para que se envíen todos los valores

ya me contarás

un saludo
  #6 (permalink)  
Antiguo 17/01/2007, 10:10
 
Fecha de Ingreso: enero-2003
Ubicación: Zaragoza
Mensajes: 217
Antigüedad: 21 años, 3 meses
Puntos: 0
Re: Problemas con 2 select

Perfecto muchisimas gracias, ya solo me falta por solucionar esto:

http://www.forosdelweb.com/f54/alguien-que-controle-mapas-google-456878/
__________________
Diseño web Zaragoza
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 04:49.