2014-01-24 22 views
3

我试图主题jstree一点,使图标更符合我的需要。但是,我似乎无法让类型插件完全工作。jstree类型没有正确应用

创建树:其实是动态生成

// Create JSTree 
$('#listbox').jstree({ 
    "types": { 
     "#": { 
      "valid_children": ["floor", "default"], 
     }, 
     "default": { 
      "valid_children": ["default", "floor"], 
      "icon": "/WACH%20Graphics/images/building.png" 
     }, 
     "floor": { 
      "icon": "/WACH%20Graphics/images/floor.png" 
     } 
    }, 
    "plugins": ["search", "wholerow", "types"] 
}); 

我的目录。但是,无序列表的结构类似于以下内容:

<ul> 
    <li><a href="building.html">Building 1</a> 
     <ul> 
      <li rel="floor"><a href="floor.html">Floor1</a></li> 
      <li rel="floor"><a href="floor.html">Floor1</a></li> 
      <li rel="floor"><a href="floor.html">Floor1</a></li> 
     </ul> 
    </li> 
</ul> 

我的默认图标被拾取。但我的“地板”类型的图标永远不会被拾起。相反,一切都有默认图标。

这是jstree 3.0.0。

回答

7

为他Github上给出由JSTree开发答案:

的类型不读出rel属性。尝试使用

<li data-jstree='{ "type" : "floor" }'... 

在您的标记(并保留单引号外,双引号 - 里面的data-jstree属性)。

参见:https://github.com/vakata/jstree/issues/497

在我来说,我只是使用的各类插件覆盖图标。原来,这可以通过简单地给列表项添加一个带有图标属性集的data-jstree属性来完成。

<li data-jstree='{ "icon" : "icon.png" }'></li> 

希望有人认为这有用的未来:)