Tag: jstree

如何以编程方式在jsTree中选择节点并打开所有父节点

在多级jsTree中,如何选择特定节点(可能是叶节点)并展开其所有父节点? 例: 从这个JSFiddle( http://jsfiddle.net/mmeah/fyDE6/ )我想以编程方式选择Grand Child并打开所有父节点。 对于某些上下文,我试图确保用户返回到树中的正确节点,如果他们跟随我的网站的深层链接

jstree jquery如何遍历所有节点

我正在尝试遍历jstree中树视图中的每个节点。 树视图有4层深,但我似乎无法超越第1层。 以下是用于迭代的jQuery。 $(“#myTree”).bind(‘ready.jstree’, function (event, data) { $(‘#myTree li’).each(function () { // Perform logic here } }); }); 这是一个说明我的观点的jsfiddle。 请帮助我如何迭代jstree中的每个节点。

jsTree:progressive_render,带有来自数组的ajax / render节点

这是关于jsTree jQuery插件 。 我已经苦苦挣扎了一段时间,但现在却意识到它不是(原生)可能做到的,所以我想到了以下问题的解决方案(这不起作用)。 我有一个使用带有ajax的json_data插件的树。 打开特定节点后,服务器的结果是超过1000个json节点的数组。 响应非常快,但渲染本身需要一段时间(用户体验是他得到令人讨厌的“脚本没有响应 – 停止脚本/继续”消息。 我想到的解决方案是将从服务器发回的结果限制为较小的数字(比如200)并使用一些“显示更多”标签(或使用jQuery滚动事件)来获取下一个200.但是,使用jstree。在每个节点上创建似乎都很慢。 然后我注意到jsTree google组中的这个post,其中Ivan建议可以使用parse_json函数一次创建所有节点 – 这对我不起作用。 我正在尝试做的简短代码片段:(点击“显示更多”标签时): $.ajax({ // send data to server in order to get the relevant json back }(), success : function (r) { var parent_node = data.inst._get_parent(data.rslt.obj); var id = parent_node.attr(“id”); $(“#root_tree”).jstree(“_parse_json”, r, parent_node ); $(“#root_tree”).jstree(“clean_node”, parent_node, false); } }); 上面的示例不呈现json并将子项添加到父节点。 我非常感谢任何其他方法,或者如果有人能够指出我做错了什么。 再次,使用: […]

JsTree打开一个节点,然后选择一个子节点(使用json_result)

我在使用MVC2项目中使用的JsTree时遇到问题。 我想创建一个函数来取消选择/关闭树上的所有节点。 然后打开一个特定的节点,并选择一个特定的子节点(我有两个Id值)。 问题是在open_node完成之前总是调用select_node,因此未选择该节点,因为树尚未加载数据,并且节点ID不存在。 我第一次尝试这个function。 $(‘#demo3’).jstree(‘deselect_all’); $(‘#demo3’).jstree(‘close_all’); $(‘#demo3’).jstree(“open_node”, $(‘#ParentId’), false, true); $(‘#demo3’).jstree(“select_node”, $(‘#ChildId’)); 然后我尝试将代码移动到select_node和move_node树的绑定,但没有运气。 目前我被困在使用setTimeout(),这是一个可怕的解决方案。 有谁知道如何告诉树只在打开完成后选择节点?

双jsTree实现

我是jsTree的新手,我想使用双jsTree。 [左JsTrree] [>>] [右JsTrree] “>>”:从左到右jsTree复制所选节点的按钮 我想从左到右jsTree复制部分树层次结构。 没有重复的节点。 我不想复制所选节点的子节点 根据右侧jsTree结构,只有左侧jsTree中的选定节点合并到右侧jsTree中 如果用户从左侧jsTree中选择了任何节点,则在按钮(“>>”)上单击我想将部分树从选定节点复制到根节点。 左jsTree如下 “ Root —–A —–A1 —–A1.1 —–A1.2 —–A2 —–`A2.1` —–A2.2 —–B —–B1 —–B2 —–C —–C1 —–C1.1 —–C2.2 ————————————————– ———————————— 现在假设用户选择节点A2.1然后在按钮(“>>”)之后单击以下部分树应该显示在右侧jsTree中 [#1]右jsTree: Root —–A —–A2 —–`A2.1` 现在,在右边的jsTree中添加了根节点,只有选定的节点才能合并到右边的jsTree中。 ————————————————– ———————————— 现在假设用户选择了C1然后只有C1应该合并到右边的jsTree。 [#2]从左侧jsTree添加C1后的右jsTree结构: Root —–A —–A2 —–A2.1 —–C —–`C1` 假设用户选择A1然后A1应合并到适当的位置 [#3]从左jsTree添加A1后的右jsTree结构: Root —–A —–`A1` —–A2 —–A2.1 —–C —–C1 […]

如何在jsTree中双击自定义行为?

我正在使用jsTree jQuery插件,并希望在用户双击节点时执行代码。 我似乎无法让它发挥作用。 我在ondblclk事件上找到了一些文档,但它没有触发。 browser.jstree( { plugins: [“themes”, “json_data”, “ui”, “cookies”], callback: { ondblclk: function (node, tree) { if (!thisReportBrowserthis._isFoldersOnly) { var f = node; } } } } ); 如何使用jstree处理双击事件?

如何将数据关联到jstree中的节点?

$(“#ifTree”).jstree({ “plugins” : [“themes”,”html_data”,”ui”,”crrm”], “themes” : { “theme” : “apple”, “dots” : true, “icons” : false } }); $(“#createIf_c”).click(function () { $(“#ifTree”).jstree(“create”,null,”inside”, { “data” :{ title:”if”,value:”expression”} }, function() {}, true); }); $(“#display”).click(function(){ var a = $.jstree._focused().get_selected(); alert(a.attr(“value”)); }); 在上面这段代码中,我创建了一个jstree,点击了一个id为#createIf_c的按钮,我添加了一个标题为“if”的节点,但由于我想要更多的数据与这个节点相关联,我为它添加了更多的属性在创建节点时。 接下来,当我尝试访问此关联数据时,此处为“值”,然后我收到警报“未定义”。 那么将数据与节点关联有不同的方法吗? 或者以不同的方式访问节点的关联数据是jstree?..请帮助….

使用新的json数据重新创建整个jstree实例

我希望用新的json数据替换jstree树的全部内容。 我正在使用jsTree 1.0从2011年7月25日从github下载 说我有这个function…… function init_my_tree(my_json_data) { $(“#demo1”).jstree({ themes: { “theme”: “classic”, “dots”: false, “icons”: true, “url”: “//js.myliburl.com/jstree/themes/classic/style.css” }, json : { data : my_json_data }, plugins : [ “core”,”ui”,”themes”, “json” ] }); } 其中demo1指的是a 我要做的是用我从服务器加载的新数据完全替换树。 然而,出于这个问题的目的,让我假装我只想这样做…… $(document).ready(function() { var text_data = ‘[{“title”:”All”,”data”:{“jstree”:{“opened”:true}},”children”:[{“title”:”Item 1″,”data”:{“jstree”:{}},”children”:false,”li_attr”:{“id”:”1″,”class”:”jstree-leaf”,”href”:”#”},”a_attr”:{“href”:”#”}},{“title”:”Item B”,”data”:{“jstree”:{}},”children”:false,”li_attr”:{“id”:”2″,”class”:”jstree-last”,”href”:”#”},”a_attr”:{“href”:”#”}}],”li_attr”:{“id”:”0″,”class”:”jstree-last”,”href”:”#”},”a_attr”:{“href”:”#”}}]’; var my_json_data = $.parseJSON(text_data); init_my_tree(my_json_data); // initialize the tree view […]

为什么jsTree open_all()不能为我工作?

昨天开始使用jQuery和jsTree插件,并通过对servlet的AJAX调用成功加载树。 现在,我想让树在加载后打开所有节点,所以我在ajax属性中添加了一个成功函数。 但是,我似乎无法使open_all()方法正常工作。 我对使用jQuery非常陌生,所以我猜这很简单,我做错了。 Firebug没有显示任何错误,这些错误排除了输入错误的方法名称的愚蠢错误。 我检查了文档,我认为我正在按照我所读的内容正确地完成所有工作。 树正确加载,但在页面加载后没有打开所有节点。 我在Firefox 3.6.8上使用jQuery 1.4.2和jsTree 1.0rc2。 这是我用来加载树并尝试打开树中所有节点的代码: // Create the tree object $(“td#modelXML”).jstree({ core : { “animation” : 0 }, //xml_data : {“data” : “” + xml, “xsl” : “nest”}, xml_data : {“ajax” : {“url” : “servlet/GetModelHierarchy”, “type” : “post”, “data” : { modelId : “” + modelId} }, “xsl” […]

如何在jsTree中获取所选节点的ID?

如何在jsTree中获取所选节点的ID? function createNewNode() { alert(‘test’); var tree = $.tree.reference(“#basic_html”); selectedNodeId = xxxxxxxxx; //insert instruction to get id here tree.create({ data : “New Node Name” }, selectedNodeId); }