删除复选框在Jstree中使用名称

时间:2012-10-05 06:38:18

标签: jquery 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>

树就像

T恤(根)

-Solid tees(Child)

-Graphic tees(Child)

-polo tees(儿童)

现在我要删除root中的复选框表示T-shirt

我可以使用此代码删除复选框

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

但主要问题是我使用4331

的ID删除了复选框

当我向这个树添加新类别时,所有树的ID都会被更改

所以它不起作用

我想使用名称T-Shirt来执行此代码,所以当我添加新类别时,它不会给我带来问题

2 个答案:

答案 0 :(得分:0)

您是否尝试过使用css隐藏“可折叠”商品的复选框?

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

答案 1 :(得分:0)

为什么不使用类来隐藏复选框?

  • 将类"attr":{"rel":"directory"}(请参阅下面的示例)添加到您不希望复选框可见的节点。
  • 然后使用css [rel=directory] .jstree-checkbox { display:none }隐藏复选框

查看我隐藏目录的jsfiddle。 http://jsfiddle.net/radek/4fTDq/68/