我正在尝试编写一些动态地将节点添加到jstree的代码.我已经按照http://www.jstree.com/documentation/crrm上的文档进行了操作,但无法得到一个简单的示例 - 正在添加节点child2,但它正被添加到节点的root中. id'而不是'child1.id'指定...任何提示将不胜感激.代码如下
<html>
<head>
<script type="text/javascript" src="http://static.jstree.com/v.1.0rc2/jquery.js"></script>
<script type="text/javascript" src="http://static.jstree.com/v.1.0rc2/jquery.jstree.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$(function () {
$("#tree").jstree({
"json_data" : {
"data" : [
{
"data" : "parent",
"attr" : { "id" : "root.id" },
"children" : [ { "data" : "child1",
"attr" : { "id" : "child1.id" },
"children" : [ ] }
]
},
]
},
"plugins" : [ "themes", "json_data", "crrm" ]
});
});
$("#add").click(function() {
$("#tree").jstree("create", $("#child1.id"), "inside", { "data" : "child2" …Run Code Online (Sandbox Code Playgroud) 我有一个jstree与每个节点的复选框.我想实现以下目标.让我知道api的哪种方法或部分可以帮助我们做到这一点.
我搜索了API文档,却一无所获.
我正在使用jQuery jsTree插件复选框.好的,我已经找到了如何处理检查或取消选中复选框的事件.如果它有用我可以粘贴代码:
.bind("check_node.jstree", function(e, data)
{
if(data.rslt.obj !== undefined && data.rslt.obj.attr(\'id\') !== undefined)
{
jQuery.ajax({
async : false,
type: "POST",
dataType: "json",
url: "adsmanager/adsfields/ajaxappendcategory",
data:
{
"id" : data.rslt.obj.attr(\'id\'),
"itemId" : "' . Yii::app()->getRequest()->getParam('id') . '",
},
success: function(r)
{
if(r === undefined || r.status === undefined || !r.status)
{
data.rslt.obj.removeClass(\'jstree-checked\');
data.rslt.obj.addClass(\'jstree-unchecked\');
}
else
{
niceBox(\'ok\');
}
}
});
}
return true;
})
Run Code Online (Sandbox Code Playgroud)
有了这一切都没关系,但知道我无法找到任何地方如何检查树加载的复选框,例如,如果我使用jsTree像我的新闻项目的类别选择器当我创建新的新闻项目一切正常,当我想要更新该项我需要jsTree与选定的类别,这是我无法找到如何选择加载jsTree节点的任何示例.
对这个问题有任何帮助吗?
我是jQuery和jstree的新手.我正在使用jstree并使用xml填充数据.但是想要捕获每个节点的事件,无论是否与它们的ID一起检查.我试着用jstree的插件API一样change_state(),check_node()或者select_node(),但它不工作.此外,我想将所有选定的节点数据放入一个数组中进行进一步处理.任何人都可以帮忙吗?
谢谢...
如何在jsTree中将所选节点的ID获取到根节点?
假设C是选定节点然后我如何获得C的所有父ID.
一个
乙
C
+ C1
+ C2
以下代码将仅返回直接父ID:如果我选择了C,那么我只获得B.
.bind("select_node.jstree", function (event, data) {
//`data.rslt.obj` is the jquery extended node that was clicked
alert("Selected node = "+ data.rslt.obj.attr("id"));
alert("Parent of Selected node = "+ data.inst._get_parent(data.rslt.obj).attr("id"))
});
Run Code Online (Sandbox Code Playgroud)
输出:
Selected node = C
Parent of Selected node = B
有没有办法获取所有父节点ID,即选择节点到根节点?
任何有关此事的帮助或指导将不胜感激.
如何让所有节点都出现在jsTree中?
我正在用xml构建jsTree
Root
-----A
-----A1
-----A1.1
-----A1.2
-----A2
-----`A2.1`
-----A2.2
-----B
-----B1
-----B2
-----C
-----C1
-----C1.1
-----C2.2
Run Code Online (Sandbox Code Playgroud)
我想要jsTree中存在的所有节点(ID)的数组如下
预期产出:[Root,A,A1,A1.1,A1.2,A2,A2.1,A2.2,B,B1,B2,C,C1,C1.1,C2.2]
我在asp.net mvc3中使用jsTree和contextmenu创建了一个树视图.
<div id="divtree">
<ul id="tree">
<li><a href="#" class="usr">@Model.Name</a>
@Html.Partial("Childrens", Model)
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
<script type="text/javascript">
$(function () {
$("#divtree").jstree(
{
"plugins": ["themes", "html_data", "ui", "crrm", "contextmenu"]
});
});
Run Code Online (Sandbox Code Playgroud)
它的工作正常.

我想在上下文菜单中创建一个客户项目.例如,创建一个新的菜单项.新的创建在上下文菜单中的新员工.并将员工插入DB.我使用jQuery POST函数来完成这项任务.但是如何处理中的click事件
上下文菜单项.
请帮忙
下面发布的代码通过ajax请求加载我的树的根元素.我的树非常大,所以我无法一次加载所有项目所以我需要通过请求孩子为特定ID加载元素.
如何通过单击节点按ajax加载元素?
$('#jstree_demo_div').jstree({
"plugins" : ["wholerow", "checkbox"],
'core' : {
'data' : {
'url' : function(node) {
return "/" + site + "/places/api/tree/list/";
}
},
}
});
Run Code Online (Sandbox Code Playgroud)
json样本的一部分
[
{
"text":"zachodniopomorskie",
"state":"closed",
"id":212353,
},
Run Code Online (Sandbox Code Playgroud)
固定版本:
$('#jstree_demo_div').jstree({
"plugins" : ["wholerow", "checkbox"],
'core' : {
'data' : {
'url' : "/" + site + "/places/api/tree/list/",
'data' : function(node) {
return {
'id' : node.id
};
}
},
}
})
Run Code Online (Sandbox Code Playgroud)
我的问题的解决方案是,如果我想通过ajax请求返回子项,我需要返回包含以下内容的json文件:
"children:" true
Run Code Online (Sandbox Code Playgroud) 情况
当我的页面加载并且我的树视图是可见的时,没有选择treenode.当我点击一个节点时,它被选中,这是默认行为.
题
如何在单击同一节点时取消选择节点?所以我想点击一个选定的节点取消选择它.我一直在搜索文档.但事件'select_node'将首先选择节点,然后才能检查它的selectstatus.
我知道有一种方法可以在单击按钮时取消选择带代码的节点,但这不是我想要的.我想单击已选择的节点.
有人能帮我吗?
链接)
文档事件JStree:http://www.jstree.com/api/#/? q = .jstree%20Event&f = enable_node.jstree
你能告诉我如何获得jstree的row元素的click事件吗?我在小提琴中制作了一个jstree的演示.它是在面板中制作的.你必须按"打开面板"按钮检查面板
我想点击jstree元素的事件来点击它的id?为了准备树,我必须多次按"添加测试用例按钮",然后按"打开面板"按钮.
这是我的小提琴 http://jsfiddle.net/ZLe2R/6/
function addMenuItemsOfTestSuit(id){
var menuid = "menu_" + id;
var ref = $('#tree').jstree(true);
alert('thank')
ref.create_node("#", {"id" : menuid, "text" : id});
ref.deselect_all();
}
Run Code Online (Sandbox Code Playgroud)