jQuery и jsTree - отметьте (снимите флажок) отключить / удалить / невидимые узлы - PullRequest
2 голосов
/ 27 февраля 2012

Любой знает способ выбора только видимых узлов / потомков, а не тех, которые скрыты и не проверены.Например,

[x] Parent
    [x] Child - Visible / checked
    [x] Child - Visible /checked
    [ ] Child - hidden / unchecked - even possible to be checked due to parent
    [ ] Child - hidden / unchecked

Если вы отметите или снимите флажок [x] Parent, он проверяет / снимает флажок ВСЕ дочерние элементы (видимые и скрытые).Я только хочу, чтобы он проверял / снимал (то есть изменял состояние) те, которые видимы, а НЕ скрыты.

Возможно ли это?

1 Ответ

0 голосов
/ 28 февраля 2012

Единственное решение, которое я нашел, было jQuery. Я дал каждому строящемуся узлу (в php) класс 'aNode' и 'selectable' (если он виден), а затем перебрал все дочерние элементы следующим образом

$.each($('#mytree.jstree-checked'), function(i, v){

    if($(v).hasClass('aNode')){
        if($(v).hasClass('selectable')){

            //found a node that is both selectable (not hidden) and checked
        }
    }
});
...