Есть несколько узлов, которые получают данные от вызова AJAX в моем jsTree.
Как я могу обновить данные, а НЕ перезагрузить все дерево?
- лучше всего просто щелкнуть узел, который я хочу обновить
- контекстное меню тоже нормально
Есть несколько узлов, которые получают данные от вызова AJAX в моем jsTree.
Как я могу обновить данные, а НЕ перезагрузить все дерево?
Как насчет этого?
<html>
<head>
<script language="javascript" type="text/javascript" src="jquery.min.js"></script>
<script language="javascript" type="text/javascript" src="jquery.jstree.js"></script>
<script>
var treeConfig = {
"json_data" : {
"data" : [{
"data" : "Root",
"state" : "closed",
"children" : ""
}],
"ajax" : {
"url" : "http://localhost/tree.json",
"data" : function (node) {
return { query : "Value" };
}
}
},
"plugins" : [ "themes", "json_data", "ui" ],
};
$(document).ready(function(){
$("#treeContainer").jstree(treeConfig);
$('#treeContainer a').live('click',function(){
var tree = jQuery.jstree._reference("#treeContainer");
var currentNode = tree._get_node(null, false);
tree.refresh(currentNode);
});
});
</script>
</head>
<body>
<div id="treeContainer"></div>
</body>
</html>
Вот что я делаю:
Пока это делает запрос ajax для данных узла только при первом открытии узла. Последний шаг: