jstree启用节点及其子节点 [英] jstree Enable a node and it's children

查看:106
本文介绍了jstree启用节点及其子节点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用:

jstree("disable_node", "#" + NodeID);

禁用jstree中的节点。并使用:

to disable a node in jstree. and using:

jstree("enable_node", "#" + NodeID);

启用节点。

是有一个简单的方法禁用/启用一个节点和它的孩子?

Is there a simple way to disable/enable a node and it's children?

谢谢你

推荐答案

您可以使用以下代码执行此操作。查看演示 - 小提琴

You can do it with the code as below. Check demo - Fiddle.


  1. 编写一个递归函数来迭代多级结构

  1. Write a recursive function to iterate multi-level structures

function changeStatus(node_id, changeTo) {
    var node = $("#tree").jstree().get_node(node_id);
    if (changeTo === 'enable') {
        $("#tree").jstree().enable_node(node);
        node.children.forEach(function(child_id) {
            changeStatus(child_id, changeTo);
        })
    } else {
        $("#tree").jstree().disable_node(node);
        node.children.forEach(function(child_id) {
            changeStatus(child_id, changeTo);
        })
    }
}


  • 根据您的需要调用函数

  • Call function depending on what you need

    changeStatus(NodeID, 'enable');
    

    changeStatus(NodeID, 'disable');
    


  • 这篇关于jstree启用节点及其子节点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

    查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆