Foros del Web » Programando para Internet » Javascript »

Pregunta espesa selección múltiple

Estas en el tema de Pregunta espesa selección múltiple en el foro de Javascript en Foros del Web. Hola a todos, tengo una duda que considero espesa, espero que a vosotros no os resulte así y me podaís echar una mano. Tengo una ...
  #1 (permalink)  
Antiguo 07/04/2009, 01:47
Avatar de sirguy  
Fecha de Ingreso: septiembre-2006
Ubicación: Mallorca
Mensajes: 959
Antigüedad: 17 años, 7 meses
Puntos: 12
Pregunta espesa selección múltiple

Hola a todos, tengo una duda que considero espesa, espero que a vosotros no os resulte así y me podaís echar una mano.

Tengo una BD en mysql donde el campo de una tabla tienes los valores id de otra tabla. Los valores id vienen separados por comas. Ej: 24,27,33

Estos números corresponden al value de un campo select múltiple.

Los separo con explode (de php) y los saco tipo array ($trozos[]) con un for, luego le paso los valores a un javascript.


Código PHP:
for($i 0$i <= $numero$i ++) {
$result=mysql_query("select * from contactes where id='".$trozos[$i]."'",$link);
$row mysql_fetch_array($result); 
echo 
"document.forms['formu']['contacte[]'].value = '".$row["id"]."';";

Casi todo es php, pero lo que me interesa es el javascript que será el que seleccione varios valores pero este script sólo selecciona el último valor por lo que sólo me selecciona uno de los valores y yo quiero que lo haga con todos.

Encontré esto por el foro:

http://www.forosdelweb.com/f13/selec...script-202283/

document.frm.cbo.options[6].selected=true;
document.frm.cbo.options[8].selected=true;

Pero depende del número de option y no del valor del value. Y no sé muy bien la gramática. ¿Existe alguna solución?

Gracias
__________________
Chanante!
  #2 (permalink)  
Antiguo 07/04/2009, 02:40
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Pregunta espesa selección múltiple

En tu caso todos los que vengan de la bbdd deben estar seleccionados...?

si es así

Código php:
Ver original
  1. echo "document.forms['formu']['contacte[]'].options[$i].selected=true;";


si no es así y lo que quieres es que salgan todas las opciones y seleccionar las de "trozos" lo que nos muestras no sirve....

En este caso quizas habria que replantear la bbdd y normalizar esa relacion entre tablas con una tabla intermedia que soporte esa relación uno a infinito.

Quim
  #3 (permalink)  
Antiguo 07/04/2009, 02:59
Avatar de sirguy  
Fecha de Ingreso: septiembre-2006
Ubicación: Mallorca
Mensajes: 959
Antigüedad: 17 años, 7 meses
Puntos: 12
Respuesta: Pregunta espesa selección múltiple

Gracias por la respuesta. Si efectivamente todos deben estar marcados, pero claro la selección con true depende de los valores option, en mi caso yo recibo los valores del value de las etiquetas option y no el orden de option que permitiría usar esa setencia, algo así pero que funcione claro:

Código PHP:
echo "document.forms['formu']['contacte[]'].value[$row["id"]].selected=true;"
Gracias
__________________
Chanante!
  #4 (permalink)  
Antiguo 07/04/2009, 06:48
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Pregunta espesa selección múltiple

Recuerda que estas trabajando sobre dos lados, cliente y servidor la parte javascript es de cliente y la php es de servidor....

Si te entiendo bien lo que quieres hacer es: pongamos que en un combo con 10 opciones queden seleccionadas, digamos 4, la 1, la 3, la 5 y la 9.

El problema és que el orden de las 10 opciones lo tienes en javascript y el valor de las opciones a marcar en php. Para solucionar esto creo que lo mejor es que crees una matriz php con el valor de las 10 opciones, el indice de la matriz puede coindidir con el índice de las opciones en html, luego comparando valores puedes usar el indice de la matriz o construir directamente el select . Yo me inclinaría por la segunda opción....

No estoy muy fino lo se....(tant espes com la pregunta)


Quim
  #5 (permalink)  
Antiguo 08/04/2009, 01:51
Avatar de sirguy  
Fecha de Ingreso: septiembre-2006
Ubicación: Mallorca
Mensajes: 959
Antigüedad: 17 años, 7 meses
Puntos: 12
Respuesta: Pregunta espesa selección múltiple

No lo jures, hasta la respuesta es espesa pero entiendo lo que quieres decir, no se me había ocurrido. Lo realmente chungo es que el campo select también es dinámico y depende de una bd... en fin tomo tu idea e intentaré llevarla a cabo.

Muchas gracias por la respuesta, a ver que sale.

Un saludo
__________________
Chanante!
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:51.