我有一个可用的引导树视图。我想在这里面添加一个功能。
https://jsfiddle.net/evk9yfum/
https://github.com/jonmiles/bootstrap-treeview (使用插件)
例如: onNodeCollapsed:如果已选择折叠节点的子节点/孙子节点。则当前拼接的节点应显示为选定节点。
然后对这个相同的节点进行展开。它应该显示它的/last selected或子/孙节点。
onNodeCollapsed: function(event, node) {
$.each(node.nodes, function() {
if (this.state.selected) {
$('#treeview-selectable').treeview('selectNode', [node.nodeId, {
silent: true
}]);
return;
}
});
}




发布于 2015-12-17 01:41:05
使用这个var slectedNodeId, hasSelect=false, nodeIdList=[] three全局变量,然后执行下面的代码。希望这能对你有所帮助。
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 } ]);
}https://stackoverflow.com/questions/34309821
复制相似问题