我正在尝试向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');
有什么建议我可能做错了吗?是否有可能添加节点?
答案 0 :(得分:1)
然而,为了让你工作,你需要首先选择一个节点,以便像这样添加它
//Select first child node in tree
$('#2').click();
//Add new node to selected node
simpleTreeCollection.get(0).addNode(1,'A New Node')
答案 1 :(得分:1)
也许看看jsTree
答案 2 :(得分:0)
仅供参考,上述代码在其演示页面的firebug控制台中运行。在树上确保使用正确的选择器突出显示节点
答案 3 :(得分:0)
我通过编辑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);
}
};