jsTree使用备用JSON格式和AJAX </li>自定义<li>

时间:2015-03-13 17:02:30

标签: jstree

我使用替代JSON格式和AJAX在树中加载数据。现在有一个新的问题,我需要在&lt; li&gt;的末尾添加一个新元素。标签

我创建了示例网址以显示我当前正在做的事情。 Tree crated using alternative JSON format along with AJAX

enter image description here

新的LI应该如何出现 Tree created using hard coded HTML but shows how the LI should look like

Expected icon next to tree node

我认为如果我使用HTML数据,我应该能够做到这一点,但由于该项目已经采用JSON格式,这需要我改变很多,所以在我开始做这个重大改变之前我只是想检查一下是否可以使用JSON和AJAX格式。

1 个答案:

答案 0 :(得分:1)

所以我得到了伊万的回答 - Answer

简而言之,src文件夹中有misc.js,它有问号插件,这是我想要做的最好的例子。

我根据需要调整了代码,这是新代码。

(function ($, undefined) {
    "use strict";
    var span = document.createElement('span');
    span.className = 'glyphicons glyphicons-comments flip jstree-comment'

    $.jstree.defaults.commenticon = $.noop;
    $.jstree.plugins.commenticon = function (options, parent) {
        this.bind = function () {
            parent.bind.call(this);            
        };
        this.teardown = function () {
            if (this.settings.commenticon) {
                this.element.find(".jstree-comment").remove();
            }
            parent.teardown.call(this);
        };
        this.redraw_node = function (obj, deep, callback, force_draw) {
            var addCommentIcon = true;
            var data = this.get_node(obj).data;
            //....Code for deciding whether comment icon is needed or not based on "data"
            var li = parent.redraw_node.call(this, obj, deep, callback, force_draw);
            if (li && addCommentIcon) {
                var tmp = span.cloneNode(true);
                tmp.id = li.id + "_commenticon";
                var $a = $("a", li);
                $a.append(tmp);
            }
            return li;
        };
    };
})(jQuery);