jstree icon&如何'点击展开'

时间:2010-07-06 15:28:34

标签: jquery json jstree

我正在使用jsTree来创建文档列表索引。我使用JSON来创建我的树。我有一个问题和一个问题。

我的问题是,文件夹和文件都会显示相同的图标(类型中设置的默认图标)。当我更改默认图标时,所有树图标都设置为该图标。如果我不使用类型插件,则默认文件夹图标将用于所有图标。

jstree config:

$("#agac_tutacagi").jstree({
    "plugins" : [ "themes", "json_data", "types", "ui"],

    "core":{
        "animation":500,
        "strings":{
            "loading":"Yükleniyor"
        }
    },

    "types":{
        "types":{
            "max_children" : -2,
            "max_depth" : -2,

            "folder" : {
                "valid_children" : [ "default", "dizin", "dosya" ],
                "icon" : {
                    "image" : "/static/p/js/jsTree/_demo/folder.png"
                }
            },
            "file" : {
                "valid_children" : "none",
                "icon" : {
                    "image" : "/static/p/js/jsTree/_demo/file.png"
                }
            },
            "default" : {
                "icon" : {
                    "image" : "/static/p/js/jsTree/_demo/file.png"
                }
            }
        }
    },

    "json_data" : {
        "ajax" : {
            "url" : "/dokumantasyon/dokumanAgaciOgesiAl/"
        }
    }
});

示例JSON:

[{"data": {"icon": "folder", "title": "Sıkça Sorulan Sorular"}, "children": [{"data": {"icon": "file", "attr": {"onclick": "dokuman_getir(4)"}, "title": "Program makbuz basmadı"}}]}]

图标在数据字典中设置,如sjtree文档中所示。但它没用。我没有得到任何错误,一切都很好,除了树的icond。

我的第二个问题是,如何配置jstree,因此当我单击父节点(文件夹)时,它将展开,就好像展开了箭头一样。

2 个答案:

答案 0 :(得分:7)

答案 1 :(得分:6)

要创建单击以展开行为,您可以使用types插件覆盖默认的单击行为:

"types":{
    "types":{
        "max_children" : -2,
        "max_depth" : -2,
        "default" : {
            "valid_children" : [ "default"],            
            "select_node" : function (e) {
                this.toggle_node(e);
                return false;
            }
        },
        ...
    "plugins" : [ "themes", "html_data", "ui","types" ]