[英]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.