Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将jsTree节点设置为“0”;未定“;陈述_Javascript_Jquery_Ajax_Jstree - Fatal编程技术网

Javascript 将jsTree节点设置为“0”;未定“;陈述

Javascript 将jsTree节点设置为“0”;未定“;陈述,javascript,jquery,ajax,jstree,Javascript,Jquery,Ajax,Jstree,我用复选框显示一棵树。使用json\u数据插件按需加载每一级别的节点 如果检查了节点的后代,则该节点应处于“未确定状态”(如ACME和USA) 问题是,树一开始就倒塌了。ACME看起来未选中,但应该是未确定的。当我最终扩展到选中的节点时,jsTree意识到祖先应该是未确定的 因此,我需要能够在不加载其子项的情况下将复选框置于待定状态 使用jsTree可以通过将jsTree checked类添加到来预先选中一个框。我尝试添加jstree undeminated类,但它不起作用。它只是将它们置于

我用复选框显示一棵树。使用
json\u数据
插件按需加载每一级别的节点

如果检查了节点的后代,则该节点应处于“未确定状态”(如ACME和USA)

问题是,树一开始就倒塌了。ACME看起来未选中
,但应该是
未确定的
。当我最终扩展到选中的节点时,jsTree意识到祖先应该是未确定的

因此,我需要能够在不加载其子项的情况下将复选框置于
待定
状态

使用
jsTree
可以通过将
jsTree checked
类添加到
  • 来预先选中一个框。我尝试添加
    jstree undeminated
    类,但它不起作用。它只是将它们置于选中状态

    这是我的密码:

    $("#tree").jstree({
        plugins: ["json_data", "checkbox"],
        json_data: {
            ajax: {
                url: '/api/group/node',
                success: function (groups) {
                    var nodes = [];
                    for (var i=0; i<groups.length; i++) {
                        var group = groups[i];
    
                        var cssClass = "";
                        if(group.isSelected)
                            cssClass = "jstree-checked";
                        else if(group.isDecendantSelected)
                            cssClass = "jstree-undetermined";
    
                        nodes.push({
                            data: group.name,
                            attr: { 'class': cssClass }
                        });
                    }
                    return nodes;
                }
            }
        }
    })
    
    $(“#树”).jstree({
    插件:[“json_数据”,“复选框”],
    json_数据:{
    阿贾克斯:{
    url:“/api/group/node”,
    成功:功能(组){
    var节点=[];
    
    对于(var i=0;i我有同样的问题,我找到的解决方案是:

    var tree = $("#tree").jstree({
        plugins: ["json_data", "checkbox"],
        json_data: {
            ajax: {
                url: '/api/group/node',
                success: function(groups) {
                    var nodes = [];
                    for (var i = 0; i < groups.length; i++) {
                        var group = groups[i];
                        var checkedState = "false";
                        if (group.isSelected)
                            checkedState = "true";
                        else if (group.isDecendantSelected)
                            checkedState = "undetermined";
                        nodes.push({
                            data: group.name,
                            attr: { 'checkedNode': checkedState }
                        });
                    }
                    return nodes;
                },
                complete: function () {
                    $('li[checkedNode="undetermined"]', tree).each(function () {
                        $(this).removeClass('jstree-unchecked').removeClass('jstree-checked').addClass('jstree-undetermined');
                    });
                    $('li[checkedNode="true"]', tree).each(function () {
                        $(this).removeClass('jstree-unchecked').removeClass('jstree-undetermined').addClass('jstree-checked');
                    });
                    $('li[checkedNode="false"]', tree).each(function () {
                        $(this).removeClass('jstree-checked').removeClass('jstree-undetermined').addClass('jstree-unchecked');
                    });
                }
            }
        }
    });
    
    var-tree=$(“#tree”).jstree({
    插件:[“json_数据”,“复选框”],
    json_数据:{
    阿贾克斯:{
    url:“/api/group/node”,
    成功:功能(组){
    var节点=[];
    对于(变量i=0;i

    希望它能对你有所帮助!

    也许这同时也改变了

    但是现在(3.0.0版),真正简单的解决方案可以工作了:

    {
    id:“如果省略,将自动生成字符串”//
    text:“字符串”//node text
    图标:“字符串”//string用于自定义
    声明:{
    打开:布尔//节点是否打开
    已禁用:布尔//节点是否已禁用
    selected:布尔//是否选定节点
    
    待定:布尔//是节点待定,因此必须在成功回调运行后设置
    jstree待定
    类-即完成。是的,我没有找到任何其他方法。