2012-12-09 42 views
0

我正在使用Jstree。我有大約10個頂級項目,全部都有不同級別的孩子。我希望始終保持頂級項目的開放。JsTree - 讓父母開放

任何人都知道如何做到這一點?

編輯:

只是爲了澄清,甚至當有人點擊這些項目,我希望他們能夠保持開放

我想象someonething需要我的代碼這一步,我只是不知道去什麼:

.delegate(".jstree-open>a", "click.jstree", function(event){ 
     $.jstree._reference(this).close_node(this,false,false); 

回答

1

我已經創建了一個例子給你:http://jsfiddle.net/Gajotres/HLhys/

你需要設置這個選項:

"initially_open": ["menu_2","menu_8"] 

設置許多你想要的id。

如果您希望它們在節點更改(或其他操作...)的情況下保持打開狀態,請在jsTreen實例上使用.reopen()。該方法將重新打開在starts_open數組中提到的所有節點。

+0

即使有人點擊它們,它們仍會保持打開狀態嗎?我認爲這不會解決這個問題,對吧? – djt

+0

如果您希望它們在jstree對象上進一步調用.reopen()之後保持這種狀態。重新打開將打開參數beginning_open中提到的所有節點。 – Gajotres

+0

不幸的是,由於設置的方式,我不能依賴最初打開,因爲我用它來記住狀態,當我去其他頁面。有沒有辦法使用我的代碼上面,並有一行說「如果這是一個頂級項目,不要關閉它」? – djt