JQuery SimpleTree: добавить узел программно - PullRequest
0 голосов
/ 12 ноября 2008

Я пытаюсь добавить новый узел в jQuery SimpleTree , но все, что я могу получить, это "sTC.addNode не является функцией" ...

var simpleTreeCollection = $('.simpleTree').simpleTree({
    animate:true,
    drag:false,
    autoclose: false,
    afterClick:function(node){},
    afterDblClick:function(node){},
    beforeMove:function (destination, source, pos){},
    afterMove:function(destination, source, pos){},
    afterAjax:function() {},
    afterContextMenu:function(node){}
});

simpleTreeCollection.addNode('test', 'test');

Есть предложения, что я могу делать не так? Есть ли возможность добавить узел?

Ответы [ 4 ]

1 голос
/ 14 ноября 2008

Может быть, посмотрите на jsTree

1 голос
/ 12 ноября 2008

хм, это сложно, и я должен сказать, что мне не нравится плагин, поскольку он использует цифры в качестве идентификаторов и состояний w3c "Значение атрибута должно начинаться с буквы в диапазоне AZ или az и может сопровождаться буквами ... .... "

Однако, чтобы заставить вас работать, вам сначала нужно выбрать один из узлов, чтобы добавить к нему вот так

    //Select first child node in tree
    $('#2').click();
    //Add new node to selected node
    simpleTreeCollection.get(0).addNode(1,'A New Node')
0 голосов
/ 09 июня 2009

Я решил это, отредактировав функцию addNode. Я прокомментировал temp_node.remove (); и добавил dragNode_destination.after (dragNode_source);

Просто так:

        TREE.addNode = function(id, text, callback)
        {
            var temp_node = $('<li><ul><li id="'+id+'"><span>'+text+'</span></li></ul></li>');
            TREE.setTreeNodes(temp_node);
            dragNode_destination = TREE.getSelected();
            dragNode_source = $('.doc-last',temp_node);
            TREE.moveNodeToFolder(dragNode_destination);
//          temp_node.remove();
            dragNode_destination.after(dragNode_source);
            if(typeof(callback) == 'function')
            {
                callback(dragNode_destination, dragNode_source);
            }
        };
0 голосов
/ 13 ноября 2008

Кстати, приведенный выше код работает в консоли Firebug на их демонстрационной странице. На вашем дереве убедитесь, что вы используете правильный селектор, чтобы выделить узел

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...