我正在使用以下配置渲染jstree
$('#deliverables').jstree({
'core': {
'data': data
},
'search': {
'case_insensitive': true,
'show_only_matches' : true
},
'plugins': ['search']
});
$('#deliverable_search').keyup(function(){
$('#deliverables').jstree('search', $(this).val());
});
Run Code Online (Sandbox Code Playgroud)
使用此配置,如果搜索文本找到至少一个节点,则jstree仅显示匹配的节点.但是如果搜索文本与任何节点不匹配,则jstree显示所有节点.我发现这有点奇怪.我错过了什么吗?
我正在使用get_bottom_selected来获取JSTree中的所有已检查/选定节点.当我在我的表单中设置一个调用以下方法的按钮时,它可以工作.当我尝试从复选框单击事件调用相同的函数时,它找不到任何选定的节点,即使有一些.
function testit() {
var data = $('#my_tree').jstree(true).get_bottom_selected(true);
for(var count = 0; count < data.length; count++){
// Do Stuff
}
}
Run Code Online (Sandbox Code Playgroud)
当以下事件触发时,我想调用该函数并获取所有选定的子节点,但它不起作用.是否有特定于此事件的内容与按钮单击事件调用不同?
.on("check_node.jstree uncheck_node.jstree", function(e, data) {
testit(); // first line of this function does not get any selected data, even if several are selected. When called from a button click event in my form it does work.
});
Run Code Online (Sandbox Code Playgroud)
这是我目前如何设置jstree的方法.
$('#my_tree')
.on("changed.jstree", function (e, data) {
// Do Stuff
})
.jstree({
checkbox: {
"keep_selected_style": false,
"visible" : true,
"three_state": true, …Run Code Online (Sandbox Code Playgroud) 问候,我正在使用jsTree来生成我的分层数据.JsTree生成如下:
$(function() {
$("#industries").tree({
data: {
type: "json",
opts: {
url: "/Admin/GetIndustries/"
}
}
});
});
Run Code Online (Sandbox Code Playgroud)
它的工作原理和jsonresult是这样的:
[{"attributes":[],"data":{"title":"Adwokaci, Notariusze","id":"1a051101-c3fa-48f2-b2e1-c60d1b67ea22"},"children":[{"attributes":[],"data":{"title":"Kancelarie adwokackie","id":"26d6cff1-3c7f-4a2f-bf5a-422e08127b43"
Run Code Online (Sandbox Code Playgroud)
我的问题是:如何在某些隐藏字段中保存所选节点的ID?我做这样的事情:
<script type="text/javascript">
$("#industries").click(function() {
var tree = $.tree.reference("industries");
var t = $.tree.focused(); if (t.selected) t.selected; else alert("Select a node first");
alert(t.id);
});
Run Code Online (Sandbox Code Playgroud)
但它不起作用.我进入警报窗口"未定义".有人可以帮帮我吗?
编辑: 我已经更改了jstree实例,如下所示:
$(function() {
$("#industries").tree({
callback: {
onselect: function(NODE, TREE_OBJ) {
alert(NODE.id);
}
},
data: {
type: "json",
opts: {
url: "/Admin/GetIndustries/"
}
}
});
});
Run Code Online (Sandbox Code Playgroud)
我得到空洞的警觉
我正在尝试编写一些动态地将节点添加到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) 我是Jquery和JS Tree的新手,但学会喜欢它.我使用php生成的xml设置了一个树形菜单(参见下面的代码).它按预期工作,但有一个例外 - 链接未激活.
我知道有一些我不明白的基本知识.短期我只想让链接作为普通链接运行.长期我希望他们触发ajax调用,重新加载页面上的特定div.
谁能指出我正确的方向?非常感谢你的帮助!
$(function () {
$("#mainMenu").jstree({
xml_data : { data : <?php $menu->deliver(); ?> },
core : { animation : 1000 }
ui : { select_limit : 1, selected_parent_close : false },
themes : { theme : "default", dots : true, icons : false },
types : { types : { "heading" : { select_node : true } } },
plugins : [ "themes", "xml_data", "ui", "types" ]
});
});
Run Code Online (Sandbox Code Playgroud)
示例xml(单项):
"<root><item id='pubPages_home' parent_id='0'><content><name href='?
a=pubPages&f=home'>Public …Run Code Online (Sandbox Code Playgroud) 我有一个jstree与每个节点的复选框.我想实现以下目标.让我知道api的哪种方法或部分可以帮助我们做到这一点.
我搜索了API文档,却一无所获.
我正在使用JsTree.现在,树的元素仅在单击与父节点的NEXT图标时展开.如何在单击父节点时使树扩展?
我正在尝试使用jsTree实现一个非常简单的树.我发现文档密集而且势不可挡.
现在,我通过单击此处显示的箭头展开/折叠节点:

我希望能够通过单击节点名称来扩展/折叠:

我使用的代码很简单; 我没有改变jsTree的javascript:
<ul id="tree">
<li>
SubFolder1
<ul id="tree">
<li data-jstree='{"icon":"/Images/blue-folder.png"}'>Pub 1</li>
</ul>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud) 我正在使用带有复选框插件的jsTree.我将级联设置为"向下".这很好用,除了当我想加载已检查和未检查节点的混合数据时,级联会覆盖节点的"状态"设置.例如
var data = [
{"id":"p90","parent":"#","text":"Page1", "state": { "selected": true} },
{"id":"p100","parent":"p90","text":"Page2", "state": { "selected": true} },
{"id":"p101","parent":"p100","text":"Page3", "state": { "selected": false} },
{"id":"p102","parent":"p101","text":"Page4", "state": { "selected": true} },
{"id":"p103","parent":"p101","text":"Page5", "state": { "selected": false} }
];
$(function () {
$("#PageTree")
.jstree({
core: { data: data },
plugins: ["checkbox"],
checkbox: { cascade: "down", three_state: false },
expand_selected_onload: true
});
});
Run Code Online (Sandbox Code Playgroud)
这导致:

但它应该是这样的:

我在树加载后尝试设置"级联"设置,但这不起作用.似乎唯一的选择是编写我自己的级联代码,但我正在寻找一个更光滑的选项.