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.