Hola!
Pues la verdad es que no he leido el cñodigo que has puesto por vago que soy xD, pero aquí te dejo el código que utilizo yo y que espero que te sirva.
Se entiende que aunque aquí ponga PHP es en realidad JavaScript, es que quedaba más mono xD
Un saludo y ya me dirás que tal te fue todo
Código PHP:
function fnBuscaOpt()
{
//Si no hay registros no hace nada
if (!document.frmResultados.optCodigo)
{
return -1;
}
//Si hay un solo elemento js no hace un array
if (!(document.frmResultados.optCodigo.length))
{
//El que este seleccionado devuelve su valor
if (document.frmResultados.optCodigo.checked)
{
return frmResultados.optCodigo.value;
}
else
{
return null;
}
}
else
{
//Si es un array lo recorre
for (i=0;i<document.frmResultados.optCodigo.length;i++)
{
//Si esta marcado ese se devuelve
if(document.frmResultados.optCodigo[i].checked)
{
//Devuelve si lo encuentra
return frmResultados.optCodigo[i].value;
}
}// for
}
//devuelve null si no ha encontrado nada
return null;
}