Bueno, me esta pasando algo raro, y no encuentro la respuesta en ningun tema, agradeceria si alguien puede ayudarme.
Tengo una pagina, en la que creo selects anidadas con ajax. Funciona perfectamente con el explorer, pero en firefox no.
Lo extraño es que observo que se ejecuta, y toma todos los valores correctos, y crea las opciones, pero no se ven, hay un combo con x opciones vacias. SI selecciono cualquiera de ellas, y ejecuto una accion, veo que envia los valores bien (la localidad por ejemplo).
Es algo visual, pero no me explico qué es.
Pongo parte del codigo:
function cargaLocalidades(){
var prov=document.getElementById("xm");
var loc_capa=document.getElementById("local");
if (prov.selectedIndex==0){
total = loc_capa.options.length;
for(i=1;i<total;i++){
loc_capa.options[i]=null;
}
}else{
objAjaxLocal=new XMLHttpRequest();
objAjaxLocal.open("POST","LocalidadesAjax",true);
objAjaxLocal.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
objAjaxLocal.send("provincia="+prov.options[prov.selectedIndex].value);
//alert(prov.options[prov.selectedIndex].Value);
objAjaxLocal.onreadystatechange=function()
{
// alert(objAjaxLocal.readyState);
if (objAjaxLocal.readyState==4){
var doc_xml_local=objAjaxLocal.responseXML;
var listaLocalidades=doc_xml_local.getElementsByTagNam e("localidad");
var listaIdLocalidades=doc_xml_local.getElementsByTagN ame("valor");
var htm="";
total = loc_capa.options.length;
for(i=1;i<total;i++){
loc_capa.options[i]=null;
}
for(i=0;i<listaLocalidades.length;i++){
var loca=listaLocalidades[i].firstChild.nodeValue;
anOption = document.createElement("option");
loc_capa.options.add(anOption, i+1);
anOption.innerText = loca; //The text for the option
anOption.value = listaIdLocalidades[i].firstChild.nodeValue; //The option's value
}
loc_capa.options.selectedIndex = 0;
}
}
}
}
Muchas gracias. A ver si alguien a simple vista ve algo raro que se me pase por alto. Empleo justamente addoptions para que salga bien en explorer.
Un saludo