2013-10-01 145 views
2

我有一個數據庫,我從中進行多個查詢,並且我想在不同的jsTrees中顯示結果。 我用它來創建一個樹的代碼如下所示:多個jsTree實例

<div id="container"> 
<ul> 
    <li><a>Iteration 1</a> 
     <ul> 
      <li><a>Story A</a></li> 
      <li><a>Story B</a></li> 
      <li><a>Story C</a></li> 
     </ul> 
    </li> 
    <li><a>Iteration 2</a> 
    </li> 
</ul> 

和功能:

<script type="text/javascript"> 
jQuery(function($) 
{ 
    $('#container').jstree(); 

} 
); 
</script> 

我的問題是,這適用於已知數量的樹木,但會有當我需要創建n個(未知的,取決於數據庫中的字段的變化)數量的函數時(因爲每個函數引用特定的div id),這是一個問題。 所以,我的問題是,如何創建多個jsTrees?

+0

創建它們的客戶端或服務器端?無論哪種方式,您都需要爲樹生成HTML,並在每個樹的根上創建.jstree調用,這很容易完成多個類型或動態調用。你有哪些特定部分有困難? – Rup

+0

我嘗試在服務器端創建它們。我可以使用for循環爲每個div(樹)創建具有不同ID的樹的HTML。問題是我不知道如何用所需的不同參數創建jQuery(函數($))。 – relysis

+0

那麼一些jQuery庫可以在多個輸入上正常工作,所以你可能能夠給它們全部相同的類,然後在該類的選擇器上調用單個jstree。但是,如果您可以在服務器上動態生成HTML塊,那麼您可以爲每棵樹動態生成一行額外的腳本,不是嗎?你正在使用哪個Web框架? – Rup

回答

0

我想我有這個相同的問題,所以我開始在github上的a discussion

看來,這是因爲將節點id存儲到唯一的DOM id s中。

1

使用$('div[id^="tree"]').jstree();到JS適用於所有樹木