看到原博主写的addNode的方法, 受益匪浅, 自己尝试写了一个deleteNode的方法, 已经测过了, 分享给大家http://blog.csdn.net/qq_25628235/article/details/51719917
http://blog.csdn.net/qq_25628235/article/details/51719917 这是AddNode的方法
deleteNode的方法, 也发出来分享给大家.
第一步:在Tree主函数return {/*在这里添加deleteNode的入口*/}
// Delete Node methods
deleteNode: $.proxy(this.deleteNode, this),
setDeleteNode: $.proxy(this.setDeleteNode, this),
第二步:添加Tree的prototype方法
Tree.prototype.deleteNode = function (identifiers, options) {
this.forEachIdentifier(identifiers, options, $.proxy(function (node, options) {
var parentNode = this.getParent(node);
alert(node.text);
this.setDeleteNode(parentNode, node, options);
}, this));
};
Tree.prototype.setDeleteNode = function (node, deletenode, options) {
if (node.nodes != null){
for(var i = node.nodes.length-1; i >= 0; i--){
var mynode = node.nodes[i];
if(mynode.id == deletenode.id){
node.nodes.splice(i, 1);
}
}
this.setInitialStates({ nodes: this.tree }, 0);
this.render();
}
};
第三步: 怎么调用
$("#treeid").treeview("deleteNode", [nodeData.nodeId, { silent: true } ]); //nodeData是checkedNode或者selectedNode,选中或者checked这个节点, 该节点如果有父节点的话就会被删除。