hola a todos estoy tratando de armar un formulario para una inmobiliaria que vaya filtrando las opciones de busqueda pāra que no eligas algo y luego te diga que no hay opciones disponibles para tu busqueda.

para ello llegue a la conclucion de organisarlo en 3 categorias pero cuando las quiero pude armar las primeras 2 opciones que en el menu desplegable pero se me complico con la 3 opcion :cry: agradeceria a cualquiera que me ayude a solucionar el error o me facilite con alguna otra opcion para lo que quiero hacer. :P

aca les dejo mi codigo. la primera parte carga el xml con los 3 arrays y la segunda asigna los dataproviders!

function cargarXml(archivo) {
stop();
System.useCodepage = true;
xml = new XML();
xml.load(archivo);
xml.ignoreWhite = true;
xml.onLoad = myOnLoad;
function myOnLoad(success) {
if (success) {
_root.objetod = new Array();
_root.objetos = new Array();
_root.objeto = new Array();//crea el master array y cuantos objetos va a contener en total
for (t=0; t<xml.firstChild.childNodes.length; t++) {//empiesa a recorrer cada uno de estos objetos
_root.objeto[t] = new Array();//crea un nuevo array para cada uno de los objetos y cuantas propiedades este cada objeto va a contener
_root.objetos[t] = new Array(xml.firstChild.childNodes[t].attributes["label"]);
for (i=0; i<xml.firstChild.childNodes[t].childNodes.length; i++) {// recorre el cada dato del objeto correspondiente en el xml
_root[dato+i] = xml.firstChild.childNodes[t].childNodes[i].attributes["label"];// le asigna el dato que actualmente se lee del objeto a la variable
_root.objeto[t][i] = _root[dato+i];// asigna el valor correspondiente en el objeto que corresponda al array multidimencional
//trace(xml.firstChild.childNodes[t].childNodes[i].childNodes)
for (z=0; z<xml.firstChild.childNodes[t].childNodes[i].childNodes.length; z++) {
_root.objetod[t] = new Array();
_root.objetod[t, i] = new Array();
_root.objetod[t, i, z] = new Array();
_root[datos+z] = xml.firstChild.childNodes[t].childNodes[i].childNodes[z].attributes["label"];
_root.objetod[t, i, z] = _root[datos+z];
}
}
}
play();
} else {
trace("no");
}
}
}
cargarXml("prueba2.xml");// archivo con los datos de las imagenes
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
stop();
trace(objetod);
a = 0;
b = 0;
list.dataProvider = objetos;
if (a == 0) {
list.addItemAt(0,"Elija una opcion");
a++;
}
list.selectedIndex = 0;


form = new Object();
form.change = function(eventObj) {
lista.dataProvider = objeto[(list.selectedIndex-1)];
lista.selectedIndex = -1;
listb.dataProvider = undefined;
};
list.addEventListener("change",form);

forma = new Object();
forma.change = function(eventObjs) {
listb.dataProvider = objetod[(list.selectedIndex-1, lista.selectedIndex-1)];
listb.selectedIndex = 0;
};
lista.addEventListener("change",forma);