Foros del Web » Programando para Internet » Javascript »

** Seleccionar todas las opciones de un select **

Estas en el tema de ** Seleccionar todas las opciones de un select ** en el foro de Javascript en Foros del Web. Hola, Necesito poder mantener todas las opciones de un select, tengo dos select, de uno paso datos a otro ocupando una rutina de javascript Código: ...
  #1 (permalink)  
Antiguo 08/10/2007, 18:08
 
Fecha de Ingreso: mayo-2006
Mensajes: 137
Antigüedad: 17 años, 11 meses
Puntos: 1
** Seleccionar todas las opciones de un select **

Hola,

Necesito poder mantener todas las opciones de un select, tengo dos select, de uno paso datos a otro ocupando una rutina de javascript

Código:
function add_selectd_multiple(list_mail,list_mail_ok){
                var v_list_mail = document.getElementById(list_mail), v_list_mail_ok = document.getElementById(list_mail_ok);
                for(var i = 0, newOptions=[]; i < v_list_mail.options.length; i++ ){
                    if( v_list_mail.options[i].selected ){ 
                        newOptions.unshift(
                        {name:v_list_mail.options[i].text,value:v_list_mail.options[i].value+",",val:v_list_mail.options[i].selected}); // al agregar val le asigno la propiedad selected, la cual se ejecuta mas abajo y si a value le agreggo "," logro que se concatenen los resultados
                    }
                }
                if( newOptions.length > 0 ){
                    for(var j = 0, insert = true; j < newOptions.length; j++, insert = true ){
                        for( var i = 0; i < v_list_mail_ok.options.length; i++ ){
                            if( v_list_mail_ok.options[i].value == newOptions[j].value ){
                                insert = false;    
                                break;
                            }
                        }
                        if( insert == true ){
                        var newOption = document.createElement('option');
                            newOption.value = newOptions[j].value;
                            newOption.text  = newOptions[j].name;
                            newOption.selected = newOptions[j].val; // con este logro seleccionar los elementos del selected
                            if(window.ActiveXObject){
                                v_list_mail_ok.add(newOption);
                            }else{
                                v_list_mail_ok.appendChild(newOption);
                            }
                        }
                    }
                }  
            };
          function delete_selected_multiple(list_mail_ok){
                var v_list_mail_ok = document.getElementById(list_mail_ok);
                for(var i = 0, remove = []; i < v_list_mail_ok.options.length; i++ ){
                    if( v_list_mail_ok.options[i].selected ){
                        remove.unshift(v_list_mail_ok.options[i]);
                    }
                }
                for(var i = 0; i < remove.length; i++ ){
                    if(window.ActiveXObject){
                        v_list_mail_ok.remove(remove[i]);
                        }else{
                            v_list_mail_ok.removeChild(remove[i]);
                        }
                }
            }//final
Aqui lo importante esta en que una vez q le mando los datos al otro select le digo que todo dato pase seleccionado, y es de la siguiente forma:

Código:
val:v_list_mail.options[i].selected,newOption.selected = newOptions[j].val;
Hasta ahi todo bien, el problema viene que si yo doy un clic en la lista donde estan los datos que pase todo se deselecciona y cuando hago un "request" pues mi arreglo me llega vacio, he intentado varias formas de mantenerlos seleccionados pero no me sale, alguien tiene alguna idea o me podría ayudar?, estoy ya un poc desesperado.

Saludos.
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 13:58.