Удалить флажок, используя имя в Jstree

я использую jstree

 <div class="demo jstree jstree-0 jstree-default jstree-focused" id="jstree1">
<ul>
    <li id="4331" class="jstree-closed jstree-last jstree-unchecked">
        <ins class="jstree-icon">&nbsp;</ins>
        <a href="#" class="">
            <ins class="jstree-checkbox" style="display: none;">&nbsp;</ins>
            <ins class="jstree-icon">&nbsp;</ins>
            T-Shirt
        </a>
    </li>
</ul>

tree is like

Футболка (корень)

-Твердые тройники (Детские)

-Графические футболки(Детские)

-футболки поло (детские)

теперь я хочу снять флажок в корневом меню T-shirt

я могу удалить флажок, используя этот код

(function(){
  j("#jstree1 li ").filter("#4331").each(function() {j("a ins", this).first().hide();});
    setTimeout(arguments.callee, 6);
})();

но основная проблема в том, что я снимаю флажок, используя идентификатор 4331

когда я добавляю новую категорию в это дерево, идентификаторы всего дерева меняются

так это не работает

я хочу сделать этот код, используя имя T-Shirt, поэтому, когда я добавлю новую категорию, это не создаст для меня проблем


person M.I.T.    schedule 05.10.2012    source источник
comment
попробуйте следующий j(#jstree1 li ).filter([name=T-Shirt])   -  person Ramesh    schedule 05.10.2012
comment
@Рамеш не работает   -  person M.I.T.    schedule 05.10.2012


Ответы (2)


Вы пытались использовать css, чтобы скрыть чекбоксы для «складных» элементов?

.jstree-closed a .jstree-checkbox, .jstree-opened a .jstree-checkbox { display: none; }

person Arkadiusz 'flies' Rzadkowolski    schedule 05.10.2012
comment
мой вопрос в том, что я хочу скрыть, используя имя. я знаю, как скрыть флажок. мой код работает, но создает проблему при изменении идентификатора. - person M.I.T.; 05.10.2012

Почему бы вам не использовать класс, чтобы скрыть флажки?

  • добавьте класс "attr":{"rel":"directory"} (см. мой пример ниже) к узлам, которые вы не хотите, чтобы флажок был виден.
  • затем используйте css [rel=directory] .jstree-checkbox { display:none }, чтобы скрыть флажок

Проверьте мой jsfiddle, где я прячу каталоги. http://jsfiddle.net/radek/4fTDq/68/

person Radek    schedule 07.10.2012