3

在用 jsTree 构建的树中,我将标签中的文本放在<a>变量中。我想检查那个节点。我该怎么做?

我目前正在使用 jQuery 查找该节点并更改其类。但是,这不会通过使父节点在其类中未确定来修复父节点。我试过做$('.colors').jstree("checkbox_repair"),但这似乎没有做任何事情。

如果有人能真正回答这两个问题,那就太好了,因为它们与同一个问题有关。

这是一个 jsFiddle,说明了问题--> http://jsfiddle.net/thapar/5XAjU/

4

4 回答 4

5

在 js_tree 中有.check_node ( node ).uncheck_node ( node )功能,我认为这就是你所要求的。在这里查看文档:http: //www.jstree.com/documentation/checkbox

这是上面链接中文档的摘录,“如何执行操作”:

/* METHOD ONE */
jQuery("some-selector-to-container-node-here")
    .jstree("operation_name" [, argument_1, argument_2, ...]);

/* METHOD TWO */
jQuery.jstree._reference(needle)
    /* NEEDLE can be a DOM node or selector for the container or a node within the container */
    .operation_name([ argument_1, argument_2, ...]);

所以我认为这种语法应该有效

$.jstree._reference(".colors").check_node('li#tree_3');

另外我不确定你应该使用一个类来引用你的树。可能使用 ID 来引用您的树,然后使用以下语法:

$.jstree._reference("#colors").check_node('li#tree_3');

//编辑:请记住,最新版本的 jsTree 不再具有名为 _reference 的函数。它被重命名为引用(没有前导下划线)。(最后由@mkli90 于 24/08/2015 15:45 检查)链接:https ://www.jstree.com/api/#/?f= $.jstree.reference(needle)

于 2012-04-07T12:05:34.490 回答
5

如果您想在加载时检查 jsTree 节点,例如:

$(document).ready(function()
{
  $.jstree._reference('#menu').check_node('#pih2');
});

这没用。对我来说,工作如下:

$(function () {
    $('#mainMenu1').bind('loaded.jstree', function(e, data){ //waiting for loading
          $.jstree._reference('#menu').check_node('#pih2');  //check node with id pih2
        $.jstree._reference('#menu').check_node('#pih6');  //check node with id pih6
  }); 
});

我使用 jsTree 1.0-rc3 和 JQuery 1.7.1。芦荟

于 2012-12-30T19:08:00.137 回答
1

在当前版本的 jstree 中,以下语法有效:

$("#my_tree").jstree("check_node", node_id);
于 2020-07-16T09:37:45.853 回答
0

我想添加这个解决方案,该select_node函数的功能与check_node. 我们可以按如下方式使用它;

$('#jstree_id').on('loaded.jstree', function() {
    $("#jstree_id").jstree("select_node", ["list of nodes go here"]);
});

您可以使用它来选择数组中的多个节点或单个节点。

于 2021-08-07T11:39:16.493 回答