标签: jstree

删除jsTree中的所有节点

有没有办法清除jsTree中的所有节点,比通过逐个删除它们的所有节点更快?

javascript jquery jstree

15
推荐指数
3
解决办法
2万
查看次数

如果搜索字符串与任何节点不匹配,jstree将显示所有节点

我正在使用以下配置渲染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显示所有节点.我发现这有点奇怪.我错过了什么吗?

https://jsfiddle.net/t9fe58rt/1/链接供您参考.

javascript jquery jstree jstree-search

15
推荐指数
1
解决办法
4901
查看次数

在检查事件中获取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)

html javascript jstree

15
推荐指数
1
解决办法
634
查看次数

jstree选择节点

问候,我正在使用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)

我得到空洞的警觉

jquery jstree

13
推荐指数
2
解决办法
7万
查看次数

以编程方式将子节点添加到jstree

我正在尝试编写一些动态地将节点添加到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)

javascript jstree

13
推荐指数
1
解决办法
3万
查看次数

JS Tree链接未激活

我是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&amp;f=home'>Public …
Run Code Online (Sandbox Code Playgroud)

jquery jquery-plugins jstree

13
推荐指数
2
解决办法
1万
查看次数

jstree复选框操作

我有一个jstree与每个节点的复选框.我想实现以下目标.让我知道api的哪种方法或部分可以帮助我们做到这一点.

  1. 选择父节点时,我不想检查任何子节点.目前所有孩子都被选中.
  2. 如果选中任何子节点,则检查其所有父节点.当前父节点被部分检查(方形).我想完全删除部分选择.那就是我想完全改变jstree复选框的行为.

我搜索了API文档,却一无所获.

html javascript css jquery jstree

13
推荐指数
2
解决办法
2万
查看次数

JsTree - 单击父节点展开

我正在使用JsTree.现在,树的元素仅在单击与父节点的NEXT图标时展开.如何在单击父节点时使树扩展?

jquery jstree

13
推荐指数
1
解决办法
4668
查看次数

单击父级时展开jsTree节点

我正在尝试使用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)

javascript css jquery jstree

13
推荐指数
2
解决办法
1万
查看次数

如何在jsTree的初始加载时抑制级联?

我正在使用带有复选框插件的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)

这导致:

全部检查过

但它应该是这样的:

一些检查

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

jstree

13
推荐指数
1
解决办法
3583
查看次数

标签 统计

jstree ×10

jquery ×7

javascript ×6

css ×2

html ×2

jquery-plugins ×1

jstree-search ×1