2016-10-27 2 views

ответ

1

Вам нужно будет отфильтровать полностью выбранные узлы и их потенциально частично выбранных родителей - если выбранные узлы имеют несколько невыделенных братьев и сестер. Для всех этих узлов установите state.hidden на true. Затем перерисовать дерево.

См ниже код, а также проверить демо - Fiddle Demo

$("#yourTreeId") 
    .jstree('get_json', '#', { 
     flat: true 
    }) 
    .forEach(function(node) { 
     if (!node.state.selected && $('#' + node.a_attr.id).find('.jstree-undetermined').length === 0) { 
      $("#yourTreeId").jstree('get_node', node).state.hidden = true; 
     } 
    }); 

$('#yourTreeId').jstree('redraw', true); 
+0

Привет Николай, если я не хочу использовать кнопку скрыть, и пусть это скрыть автоматический, как я могу сделать это? Я попытался удалить функцию нажатия кнопки, но затем бесполезен. Есть ли у вас какие-либо идеи ? – eric

+0

Итак, как вы планируете его запускать? При загрузке дерева? –

+0

Hihi, я сделал это dy. Это проблема с моим кодом. Ваш код может работать. Благодаря! – eric

Смежные вопросы