Foros del Web » Programando para Internet » Javascript »

Visualizar items en select multiple

Estas en el tema de Visualizar items en select multiple en el foro de Javascript en Foros del Web. Hola a todos, tengo un problemilla que quizás alguno me pueda ayudar. Con php accediendo a un base de datos cargo los valores de un ...
  #1 (permalink)  
Antiguo 02/03/2005, 13:11
 
Fecha de Ingreso: abril-2004
Mensajes: 16
Antigüedad: 20 años
Puntos: 0
Visualizar items en select multiple

Hola a todos, tengo un problemilla que quizás alguno me pueda ayudar.
Con php accediendo a un base de datos cargo los valores de un select multiple de forma ordenada y comparando con los valores registrados en tablas muestro con selected los elegidos en otra sesion por el usuario. Hasta aquí todo bien, el problema surge cuando intento que los valores selected se muestren los primeros de la lista, al menos uno de ellos sin que el resto queden deseleccionados, ya que visualizo solo dos líneas del select.
He intentado meter en el body un pequeño javascript para dar valores a select multiple, pero me deja solo uno seleccionado aunque tenga varios selected, supongo porque solo carga el primero aunque dependiendo de como doy valor al select me deja el primero o el último seleccionado.
Ejemplo ya en html y javascript sin codigo php de carga de datos:

<body onLoad="document.nombre_formulario.element[nombre_select[]].value ='valor_1'.value='valor_3'.value='valor_5'">

<form name="nombre_formulario" method="post" action="">
<select name="nombre_select[]" size="2" multiple style="width:200;">
<option value="valor_1" selected>VALOR 1</option>
<option value="valor_2" >VALOR 2</option>
<option value="valor_3" selected>VALOR 3</option>
<option value="valor_4">VALOR 4</option>
<option value="valor_5" selected>VALOR 5</option>
<option value="valor_6">VALOR 6</option>
</select>
</form>

Con esto me muestra entre los dos primeras línea el VALOR5 seleccionado pero el 1 y el 3 no me los muestra seleccionados.
Creo que mi problema esta en como en javascript cargo los valores de un array que el select ya controla su selección con selected.
Gracias de ante mano si alguno me puede orientar.
Un saludo a todos
  #2 (permalink)  
Antiguo 03/03/2005, 07:26
Avatar de edwinandlozano  
Fecha de Ingreso: octubre-2003
Mensajes: 272
Antigüedad: 20 años, 6 meses
Puntos: 0
Hola a todos... pues tengo en este momento el mismo inconveniente de sali, tengo en un array los elementos para dejar seleccionado en el select multiple... pero siempre deja seleccionado es uno (es decir el ultimo elemento del array), no se si haya alguna manera para decirle que deje varios items seleccionados a la medida que vaya recorriendo el array.......

De antemano agredesco la informacion que me puedan dar....
  #3 (permalink)  
Antiguo 03/03/2005, 17:38
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 2 meses
Puntos: 9
.

Bueno cread una funcion en javascript .

function
reselect(sel,val){
var val=val.split(','),n;
for(n=0;n<val.length;n++)
{
sel.options[val[n]].selected=true}
}

luego llamais a la funcion en el body onlaod o cuando sea:

<body onLoad="reselect(document.formulario.lista,'1,3,5' ">

<select name="lista" multiple>
<option></option>
<option value=v1>caracoles</option>
<option value=v2>cabrillas</option>
<option value=v3>cervecita</option>
<option value=v4>tintito</option>
<option value=v5>avellanitas</option>
<option value=v6>filetito</option>
<option value=v7>gambitas</option>
<option value=v8>ensaladilla</option>
</select>

y ya me contareis .

.
  #4 (permalink)  
Antiguo 03/03/2005, 17:53
Avatar de edwinandlozano  
Fecha de Ingreso: octubre-2003
Mensajes: 272
Antigüedad: 20 años, 6 meses
Puntos: 0
jejeje gracias por la respuesta ... yo realice una funcion parecida a la que hiciste, eso si con una diferencia en que el array no contenia las posiciones sino el value.... es solo cuestion de un ciclo mas y una simple comparacion.... luego coloco el codigo porque lo tengo en la oficina....
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 00:25.