Javascript onCollapse将父节点设置为所选节点(如果已选择子节点/孙子节点)(引导树视图)

Javascript onCollapse将父节点设置为所选节点(如果已选择子节点/孙子节点)(引导树视图),javascript,jquery,twitter-bootstrap,css,treeview,Javascript,Jquery,Twitter Bootstrap,Css,Treeview,我有工作引导树视图。我想在这里添加一个功能 (使用插件) 例如:onNodeCollapsed:如果已选择折叠节点的子节点/孙子节点。然后,当前collpased节点应显示为选定节点 然后在同一节点上展开。它应该显示其/上次选择的节点或子/孙节点 onNodeCollapsed: function(event, node) { $.each(node.nodes, function() { if (this.state.selected) { $('#tre

我有工作引导树视图。我想在这里添加一个功能

(使用插件)

例如:onNodeCollapsed:如果已选择折叠节点的子节点/孙子节点。然后,当前collpased节点应显示为选定节点

然后在同一节点上展开。它应该显示其/上次选择的节点或子/孙节点

onNodeCollapsed: function(event, node) {
    $.each(node.nodes, function() {
      if (this.state.selected) {
        $('#treeview-selectable').treeview('selectNode', [node.nodeId, {
          silent: true
        }]);
        return;
      }
    });
  }

使用这个
变量slectedNodeId,hasSelect=false,nodeIdList=[]
三个全局变量,然后按照下面的代码操作。希望这对你有帮助

onNodeExpanded:function(event, node){                    
      $.each(node.nodes, function(){ 
            if((this.nodeId==slectedNodeId || nodeIdList.indexOf(this.nodeId)>-1) 
                && hasSelect)
            {
                 $('#treeview-selectable').treeview('selectNode', 
                              [ this.nodeId, { silent: true } ]);
            }
      });  
}, 
onNodeCollapsed:function(event, node){
       nodeIdList.push(node.nodeId);
       $.each(node.nodes, function(){ 
             if(this.state.selected){
                 $('#treeview-selectable').treeview('selectNode', 
                                 [nodeIdList[0], { silent: true } ]);
                 hasSelect=true;
             }
       });     
},
onNodeSelected: function (event, node) {
       slectedNodeId=node.nodeId;
       nodeIdList=[];
       hasSelect=false;

       $(this).treeview('unselectNode', [ node.nodeId, { silent: false } ]);
},
onNodeUnselected: function (event, node) {
       $(this).treeview('selectNode', [ node.nodeId, { silent: true } ]);             
}
更新小提琴: