2014-01-24 21 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> 

希望有人認爲這有用的未來:)