Hola Kaopectate:
Como me has pedido, te envío el código de la función mediante la que añado un option, cuyo .value y .text se recibe como parámetro, a un select que también se se le pasa a la función.
El option se añade al select, pero como quiero que este aparezca ordenado alfabéticamente, lo tengo que reordenar, para lo cual tengo que hacer varias operaciones.
<script language="JavaScript">
<!--
function anyadeOption(valor,txt,lista)
{
//array q contendra los options que tenga el select lista
var arraySelect = new Array();
// var = select cuyo name se ha recibido como parametro
var desplegable = eval("document.form." + lista);
//indice para recorrido array
var i;
//Se incluye el nuevo option en el select con el texto y
//value recibidos desde alta2
desplegable.options.add(new Option(txt,valor));
/*
Se recorre el arrray que componen los option del select,
se guarda el texto y el value
de cada uno en sus arrays correspondientes, y se elimina.
*/
i = 0;
//mientras el select tenga algun elemento
while(desplegable.options.length > 0)
{
//en el array se meten objetos de tipo option con el .text
//y .value del select actual
arraySelect[i] = new Option(desplegable(0).text,desplegable(0).value)
//eliminacion del option del actual select
desplegable.remove(0);
i++;
}
//Ordenacion del array que formara el select.
//selectionSort lo ordena alfabeticamete por el .text de los option
selectionSort(arraySelect);
/*
Añadir tantas opciones como haya en el array.
Se añaden al revés para que aparezcan en el orden alfabetico
que tenia en el select original
*/
for(j=(arraySelect.length-1); j >= 0; j--)
{
//añadir los option que se recogen del array
desplegable.add(arraySelect[j], 0);
if(arraySelect[j].text == txt) //es unico
{
desplegable.selectedIndex = j; //seleccion del option añadido
/*********************************************
Pues aqui es donde tengo el "problema".
Como digo, el nuevo option se selecciona,
pero el scroll no se situa donde está este.
*********************************************/
}
}
return;
}//fin function anyadeOption
//-->
</script>
Espero que con esto puedas ayudarme.
Saludos y gracias.