J'ai un arbre. Je veux sélectionner le nœud qui est lié à l'objet qui a un emplacement avec l'id de 158. Cela fonctionne mais semble stupide. Quelle est la façon la plus idiomatique de procéder ?
var $tree = $('.jstree', myContext),
node = $tree.find('li').filter(function() {
return ( $(this).data().location || {}).id === 158;
});
$tree.jstree('select_node', n)
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 ?