Llevo toda la mañana ofuscado con un problema al que no le veo el fallo... a ver si me ayudáis, por favor.
Tengo dos selects:
Código PHP:
Ver original
<select name="country" id="country" onmouseover="loadCountry(this);" onchange="manageCountry(this);"></select> <select name="city" id="city"></select>
Y estas dos funciones:
Código Javascript:
Ver original
function loadCountry(e){ k='country'; if(e.options.length>0){ return false; } getEv('country', 'c=');//llamada AJAX con "eval()". El retorno es: /* retorno: G_country=[value|code, ...] */ for(i=0;i<G_country.length;i++){//ge es una función que retorna el elemento con ese id gc = G_country[i].split('|'); opt = document.createElement("OPTION"); opt.innerText = gc[1]; opt.value = gc[0]; ge(k).add(opt, 0); } } function manageCountry(e){ getEv('country', 'c='+e.options[e.selectedIndex].value); k='city'; for(i=0;i<G_country.length;i++){ gc = G_country[i].split('|'); opt = document.createElement("OPTION"); opt.innerText = gc[1]; opt.value = gc[0]; ge(k).add(opt, 0); } }
El "onmouseover" funciona bien. Pero cuando selecciono algo en "country", me carga la lista de city (manageCountry, bien), pero la opción de "country" se me cambia al primer valor... y no entiendo porqué.
¿No se supone que al tener varias opciones, haría un return y detendría la función loadCountry?
Gracias por la ayuda.