Tag: jstree

jsTree开设分行

我正在使用JQuery插件jsTree, http://www.jstree.com/我可以使用以下方法扩展整个树: $(“#tree”).jstree(“open_all”); 还有一个特定的节点: $(“#tree”).jstree(“open_node”, $(‘#childNode’)); 我很难打开树的一个分支,打开分支打开它很好,但如果它有一个就不打开它的父。 有没有人用jsTree成功完成这项工作? 如果您需要更多信息,请告诉我。 谢谢 EEF

单击节点时打开分支?

我在这里遇到了jsTree 。 到目前为止,它可以工作,我可以使用[+]图标浏览和扩展节点,并在单击节点时打开页面,但我还是希望它在有人点击某个节点时展开所有直接节点。 我看了看周围至少2个小时但是找不到任何东西。 官方网站不是很有帮助,因为他们没有足够的例子,而且没有很好的记录。 看看这个,但对我来说也不起作用: http : //luban.danse.us/jazzclub/javascripts/jquery/jsTree/reference/_examples/2_operations.html 我甚至没有在firebug中收到错误消息 所以这是我的代码现在看起来如何,树初始化: $(function () { $(“#jstree”).jstree({ …. 单击节点触发的function .delegate(“a”,”click”, function (e) { //click on node var page_id = $(this).parent().attr(“page_id”); var idn = $(this).parent().attr(“id”).split(“_”)[1]; /* dosnt seem to work either… $(this).jstree(“openNode”, $(“#node_”+idn)); $(this).jstree(“openNode”, “#node_”+idn); */ page = “index.php?page_id=”+page_id; //location.href = page; }) .bind也没有工作: $(this).bind(“open_node.jstree”, function (event, data) […]

为什么我的Array在AJAX函数之外表现不同? (填充jsTree)

长话短说,我正在为jsTree创建一个类似JSON的数组。 我不明白的是为什么数组在AJAX成功函数中完全满足我的需求,但在该函数之外被打破了。 从我的控制台转储中查看屏幕截图,您可以看到差异。 为什么函数内部与函数外部不同? 基本上,我不能做我需要做的事,除非它是完美的格式:(函数内的myAry) 什么给,男人? var myAry = []; $.ajax({ type: “GET”, url: “parents.xml”, dataType: “xml”, success: function(xml) { $(xml).find(‘group’).each(function() { myAry.push({ “id”: $(this).find(‘GroupID’).text(), “parent”: “#”, “text”: $(this).find(‘GroupName’).text(), }); }); //end each loop //this array is PERFECT console.log(myAry); } //end success function }); //end ajax GET //THIS ARRAY IS BORKED console.log(myAry); XML: 1 Instructional […]

jsTree创建新节点AFTER节点

我试图在用户编辑新节点的名称后按Enter键获取新创建的节点的文本值。 我这样做的时候: .on(‘create_node.jstree’, function (e, data) { var id = data.node.id; alert($(‘#’ + id).text()); }); 在我的警报中,我得到的只是“新节点”。 我一直在搜索这个网站以寻找答案以及在jstree网站上浏览API文档一段时间,但是他们提供了一些例子,所以作为一个jQuery新手,我很难理解。 所以,我的问题是我实际上需要编程哪个事件才能获得刚刚创建的节点的ID? 是changed.jstree事件? 如果是这样,我该如何利用它? 编辑可能有助于提到我正在尝试通过上下文菜单; 以下是我设置“创建”项目的方法: items = { “create”: { “label”: “New Category”, “action”: function (obj) { $node = tree.create_node(node); tree.edit($node); } } }

在jsTree中获取已检查的节点

我有一个基于JSON数据的工作JSTree,复选框插件显示每个项目旁边的框 – 到目前为止一切都很好。 现在我想知道用户检查了哪些节点,所以我可以对数据做些什么。 不幸的是,我还没有找到通过文档或网络搜索来实现这一目标的方法。 关于SO的一些答案说使用get_checked方法,但要么我真的缺少某些东西,要么我的JSTree版本没有(即该字符串不会出现在项目文件中的任何位置)。 我的版本是3.0.0,这是最新版本。 有人可以指点我a)如何获取检查项目,或b)如何访问树的一些可迭代表示,以便我自己抓住它们? (我应该提到我对Javascript很新。) 以下是我如何设置树,它基于网站上的文档: var treeInit = { core: { data : [ /* all my data */ ] }}; treeInit.plugins = [“checkbox”]; $(‘tree_div’).jstree(treeInit);

使用Ajax / JSON进行jsTree搜索而不是调用URL

我非常感谢以下方面的一些帮助: 我有一个通过URL加载JSON数据的jsTree。 所有数据都已预加载。 我需要做的是更改搜索function,根据用户输入通过AJAX用新的JSON数据重新加载整个树(因为我需要在后端进行更复杂的节点搜索)。 作为一个开始,我想要做的是获取jsTree代码来调用我的URL。 我开始使用与最初加载树相同的URL。 但是 – 这是我无法找到解决方案的问题 – 虽然成功调用URL以首先加载树,但当我键入一些搜索文本并单击“搜索”时,jsTree使用其正常的内部搜索来突出显示节点,但是我提供的URL永远不会再被调用。 HTML是 Search Clear 我正在使用的jsTree初始化是: var url = ; $(“#myJsTree”).jstree({ “json_data” : { async : true, “ajax” : { “url” : url } }, “search”: { “case_insensitive” : true, “ajax” : { “url” : url } }, ‘ui’ : { ‘select_limit’ : 1, ‘initially_selected’ : […]

如何从div拖动节点并将其放到JStree上? (jstree版本:3.0.4)

使用以下代码,我可以拖动一个JSTree节点并将其放到div上,然后,该节点将从jstree中删除。 我将所有已删除的jstree节点存储在mapOfRemovedNodes对象中,其中node id为KEY,节点对象本身为VALUE。 现在,我想将节点移回JSTree。 这是我的完整代码: JSTree var mapOfRemovedNodes = new Object(); $(function() { var arrayCollection = [ {“id”: “animal”, “parent”: “#”, “text”: “Animals”}, {“id”: “device”, “parent”: “#”, “text”: “Devices”}, {“id”: “dog”, “parent”: “animal”, “text”: “Dogs”, “icon”: “fa fa-file-o”}, {“id”: “lion”, “parent”: “animal”, “text”: “Lions”, “icon”: “fa fa-file-o”}, {“id”: “mobile”, “parent”: “device”, “text”: “Mobile Phones”, “icon”: […]

试图在jstree中的change_state上获取已检查项目的列表

使用jsTree (pre1.0_fix_1),我想获取所有已检查项的id列表(或者更好的是,每个已检查项的id和文本的JSON对象)。 然后我会用这个做一个ajax调用。 此外,这应该在任何时候检查或取消选中某些内容的状态更改时发生。 这就是我目前所拥有的: $(function(){ n = $(‘#colors’).jstree({ “plugins”: [“themes”, “html_data”, “checkbox”] }).bind(“change_state.jstree”, function(e, data){ console.log($(‘#colors’).jstree(‘get_selected’).attr(‘id’)); }); }); 这只是从容器的id : 返回’ colors ‘。 我在data对象周围钓鱼,但没有在那里找到它(也许我错过了它?)

JSTree拖放问题

我正在使用ASP.net的JSTree。 为树生成的html看起来像 node 1 node 2 node 3 node 4 node 5 当我拖动一个节点并放下另一个节点时,不会调用为drag_finish编写的函数。 dnd plgin如下所示, tree.jstree({ … “dnd”: { “drop_finish”: function (data) { alert(“some message”); } } “plugins”: […, “dnd”] });

如何使用“jstree”jquery插件将json变量附加为子节点 – 没有ajax

我有一个使用json数据格式的jsTree。 加载根节点集很好。 我的问题是如何将子节点附加到被单击的父节点。 任何帮助,将不胜感激。 谢谢! $(“#tree-cat1”) .bind(“open_node.jstree”, function (event, data) { console.log(data.rslt.obj.attr(“id”)); //eval(loadChild()); //at this point i need to append the result of loadChild() to the tree under the relevant node }) .jstree({ “json_data”: { “data”: eval(loadRoot()) }, “themes”: {“theme”: “classic”,”dots”: true,”icons”: true}, “plugins”: [“themes”, “json_data”, “ui”] }) function loadRoot() { return “[{‘data’:’A node’,’state’:’closed’,’attr’:{‘id’:’A’}}]”; } […]