bootstrap-treeview 扩展addNode deleteNode方法 动态添加删除子节点的方法

看到原博主写的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这个节点, 该节点如果有父节点的话就会被删除。


已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页