Sur la base de Groupes jsTree vous pouvez essayer
jQuery("#getStartedTree").jstree("select_node", "#test2");
si les données ressemblent à
The JSON in the TextFile.txt - borrowed from your simple example
[
{
"data" : "A node",
"children" : [ "Child 1", "Child 2" ]
},
{
"attr" : { "id" : "test1" },
"data" : {
"title" : "Long format demo",
"attr" : { "id" : "test2", "href" : "#" }
}
}
]
et jsTree ont mis en place
My tree container is <div id="getStartedTree">
My jsTree code
$("#getStartedTree").jstree({
"themes": {
"theme": "default",
"url": "../App_Css/Themes/Default/style.css",
"dots": true,
"icons": true
},
"json_data": {
"ajax": {
"url": "../SiteMaps/TextFile.txt",
"dataType": "json",
"data": function(n) {
return { id: n.attr ? n.attr("id") : 0 };
}
}
},
"plugins": ["themes", "json_data", "ui"]
});
C'est ce que vous recherchez ?
1 votes
Le code ci-dessus ne fonctionne pas pour vous ? Pourriez-vous nous fournir un exemple de jsfidlle ?
1 votes
@Radek - cela fonctionne, mais il semble qu'il doive y avoir une meilleure façon de faire que "prendre tous les li et tester leurs données". C'est comme si je n'arrivais pas à trouver la porte d'entrée et que j'utilisais une porte latérale. Cela pourrait, par exemple, ne pas fonctionner si la structure de l'arbre est modifiée pendant le filtrage ou si des éléments de la liste sont ajoutés/supprimés manuellement.
0 votes
J'ai le même problème, mais toutes les solutions que je trouve supposent que j'ai un mystérieux "ID" à sélectionner. Mais ce n'est pas le cas. Je n'ai qu'un tableau JSON récursif et pas d'ID. N'y a-t-il pas moyen de sélectionner un noeud par son chemin, comme /chemin/vers/quelque/fichier ?