Hola
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 originalfunction 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.