Inizialmente, stavo usando le "opzioni" con initAjax per effettuare la chiamata ajax. Tuttavia, dal momento che dovevo mostrare un messaggio di errore in caso di risposta vuota dal server dopo la ricarica, ho deciso di seguire la solita procedura Ajax. Faccio la chiamata ajax, ottengo la risposta e quindi ricarico l'albero. Così ho fatto come questo nel mio file 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();
}
});
}}
chiamando la funzione
$("#myLink").click(function() { myObj.getDynaTree(); }
La dynatree è stata inizializzata in un separato file 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;
}
}
});
}
cos'è "albero" qui e come posso accedervi ?? –
ci sei ?? –
Ho aggiunto una modifica per essere più chiara. – longstaff