gracias por la informacion ajuste un poco el codigo de acuerdo a lo que me dices, lo modifique de esta manera
tree.js
Código Javascript
:
Ver originalvar K0=window,Q1=document;
function collpase(id,O2)
{
*Q1.getElementById(id).style.display="none";
*var str='symbol_'+id.replace(/_/g,'');
*if (Q1.getElementById(str))
*{
* var mainid=id.replace(/_/g,'');
* var symbolhref='<span id="symbol_'+mainid+'"><a href="javascript:expand(\''+id+'\','+O2+');" class="nodecls">'+UI.expand+'</a></span>';
* Q1.getElementById(str).innerHTML=symbolhref;
*}
}
*
function expandSearch(id,O2,arr)
{
* //loadChild(id,O2);
*var strParam="services.php?method=getCat&id="+id+"&catid="+O2;
*Ajax.Request(strParam,generateChildSearch(arr));
* Q1.getElementById(id).style.display="block";
*var str='symbol_'+id.replace(/_/g,'');
*if(Q1.getElementById(str))
*{
* *var mainid=id.replace(/_/g,'');
* *var symbolhref='<span id="symbol_'+mainid+'"><a id="a_'+O2+'" href="javascript:collpase(\''+id+'\','+O2+');" class="nodecls">'+UI.collapse+'</a></span>';
* *Q1.getElementById(str).innerHTML=symbolhref;
*}
}
*
*
*
*
function generateChildSearch(arr)
{
*//el tamaño del array siempre es de 5 cuando no hay un codigo obtenido
*//previamente en la consulta llegara como cero
*padre5=arr[0];
*padre4=arr[1];
*padre3=arr[2];
*padre2=arr[3];
*padre1=arr[4];
*Ajax.setShowMessage(1);
*Ajax.setMessage("Loaded..");
*if(Ajax.CheckReadyState(Ajax.request))
*{
*if(Ajax.request.readyState==4){
*if(Ajax.request.status==200){
* //alert(Ajax.request.responseText);
* var * response=eval('('+Ajax.request.responseText+')');
* var str='';
* var i=0;
* if(response.data.length==0)
* {
* *Q1.getElementById(response.id).style.display="none";
* }
* var mainid=response.id.replace(/_/g,'');
* for(i=0;i < response.data.length;i++)
* {
* *str+='<div id="'+mainid+''+i+'" style="padding-left:10px;">';
* *str+='<span id="symbol_'+mainid+''+i+'"><a id="a_'+response.data[i].id+'" href="javascript:expand(\''+response.id+'_'+i+'\','+response.data[i].id+');" class="nodecls">'+UI.expand+'</a></span>';
* *str+='<a id="name_'+response.data[i].id+'" style="" href="javascript:getData('+response.data[i].id+');" class="nodecls">'+response.data[i].name+'</a></div>';
* *str+='<div id="'+response.id+'_'+i+'" style="padding-left:30px;display:none"></div>';
* }
* //alert(response.id);
* //alert(str);
* var datoMostrar = Q1.getElementById(response.id);
*// Q1.getElementById(mainid).innerHTML=str;
* datoMostrar.innerHTML=str;
*//aqui ingreso cada codigo segun se complete la parte 'tree1_0_2' esta misma
*//estructura la uso para obtener los demas nodos del arbol
*expandSearch('tree1_0_2',padre5,'');
*//a partir de aqui tendria que verificar nuevamente que la peticion se complete
*//y lanzar la siguiente peticion con la misma estructura.
*}
* }
*}
}
en el codigo anterior expandSearch('tree1_0_2',padre5,''); me deberia armar nuevamente la peticion y cuando esta peticion se complete lanzar la nueva, el problema es que me toca volver a colocar las condiciones
if(Ajax.request.readyState==4){
if(Ajax.request.status==200){
envio un valor en vacio puesto que el array ya lo habia pasado antes entonces las variables ya tienen un valor
y de esta forma no funciona. que estoy haciendo mal? ¿debo crear una nueva funcion ajax que maneje de manera independiente el objeto ajax que tengo en el fuente ajax.js?