Inicialmente, estaba usando las "opciones" con initAjax para realizar la llamada Ajax. Sin embargo, como tuve que mostrar un mensaje de error en caso de que hubiera una respuesta vacía del servidor después de la recarga, decidí seguir la ruta habitual de Ajax. Hago la llamada ajax, obtengo la respuesta y luego vuelvo a cargar el árbol. así que lo hice como esto en mi archivo JavaScript
var myObj = {getDynaTree :function(){
//Refresh the dynatree
$("#dynaTree").dynatree("option", "children", null);
$.ajax({
url: "myurl",
type: "POST",
dataType: "application/json",
headers:{'Accept' :'application/json', 'Content-Type': 'application/json' },
data : JSON.stringify(myData),
//handle the response
complete : function(treeData)
{
$("#dynaTree").dynatree("option", "generateIds", true);
var parsedTreeData = JSON.parse(treeData.responseText);
if(parsedTreeData.length ==0) {
var parsedTreeData = [{title: "No documents found for the search criteria, please revisit the criteria",
isFolder: false, tooltip: "No documents found for the search criteria, please revisit the criteria" }];
}
$("#dynaTree").dynatree("option", "children", parsedTreeData);
$("#dynaTree").dynatree("getTree").reload();
}
});
}}
llamando a la función
$("#myLink").click(function() { myObj.getDynaTree(); }
El dynatree se ha inicializado en un separada archivo javascript
//Initialization for the dyna tree.
var treeData = [{title: "Dynamic Tree Demo",isFolder: false, tooltip: "Here, is your Dynamic Tree!" }];
jQuery(document).ready(function() {
initReqActions(treeData);
});
initReqActions= function(myTree){
$("#dynaTree").dynatree({
checkbox: false,
selectMode: 2,
// create IDs for HTML elements that are generated
generateIds: true,
cookie: {
expires :-1
},
children: myTree,
onQuerySelect: function(select, node) {
if(node.data.isFolder)
return false;
},
onClick: function(node, event) {
if(! node.data.isFolder)
node.toggleSelect();
},
onDblClick: function(node, event) {
node.toggleExpand();
},
onKeydown: function(node, event) {
if(event.which == 32) {
node.toggleSelect();
return false;
}
}
});
}
¿Qué es "árbol" aquí y cómo puedo obtener acceso a él? –
¿estás ahí? –
He agregado una edición para ser más claro. – longstaff