繁体   English   中英

使用 jsTree 以编程方式检查复选框节点

[英]Checking a checkbox node programmatically with jsTree

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

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

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

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

在 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');

此外,我不确定您是否应该使用 class 来引用您的树。 可能使用 ID 来引用您的树,然后使用以下语法:

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

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

如果你想在加载时检查 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。 芦荟

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

$("#my_tree").jstree("check_node", node_id);

我想添加此解决方案, select_node function 与check_node执行相同的 function 。 我们可以按如下方式使用它;

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM