我必须只显示选定的节点和父节点,并在单击按钮时隐藏其余节点。当我点击按钮时,什么也没有发生。
jsfiddle
带有注释的代码开始按钮单击
$('button[name="psychTree-selected"]').click( function(node) {
get the selected nodes
nodesSelected = $('#psychTree').tree('getSelectedNodes');
create an array for shown nodes
nodeIdsToStay = [];
walk through selected nodes
nodesSelected.forEach( function(node) {
var path = $('#psychTree').tree('getData');
path.forEach(function(n) {
if (nodeIdsToStay.indexOf(n)===-1) {
nodeIdsToStay.push(n);
}
})
})
hide the nodes not in the array
$('#psychTree').find('li').each( function(){
if ( nodeIdsToStay.indexOf(this.id) === -1 ) {
$(this).hide();
}
})
})
我知道如何隐藏选定的节点,但显然非选定节点没有可识别的类供我搜索和隐藏http://jsfiddle.net/tom1nkfr/
`$('button[name="psychTree-selected"]').click( function() {`
`$('#psychTree').find('.jqtree-selected').each( function(){`
`$(this).hide();`
`})`
`})`