2012-10-17 34 views
2

我想從我的jstree中獲取2個獨立數組中的檢查節點和未檢查節點。jstree得到檢查和未經檢查的節點

我已經看到.get_checked.get_unchecked函數,但它們返回所有目前已選中和未選中的節點。 (即如果一個節點沒有選中,我沒有選中它,那麼我仍然可以使用.get_unchecked,我想阻止這種情況的發生)。我準備在api上做重大更改。任何方向?

我可以獲取複選框的更改事件嗎?我也嘗試過change_state,但只適用於一個點擊節點。

+0

你能提供任何代碼,使的jsfiddle請 –

+0

爲什麼downvote ?? – Ashwin

回答

2

據我所知,如果不重寫jstree的checkbox插件幾乎是不可能的),因爲它們只是在每次檢查/取消選中事件時重新繪製單擊文件夾的所有父母和孩子。

這裏簡單demo

我所有的工作,

HTML

<div id="demo1" class="demo"> 
    <ul> 
        <li id="phtml_1"> 
            <a href="#">Root node 1</a> 
            <ul> 
                <li id="phtml_2" class="jstree-checked"> 
                    <a href="#">Child node 1</a> 
                </li> 
                <li id="phtml_3"> 
                    <a href="#">A Child node 2</a> 
                </li> 
            </ul> 
        </li> 
        <li id="phtml_4"> 
            <a href="#">Root node 2</a> 
             <ul> 
                <li id="phtml_2" > 
                    <a href="#">Child node 1</a> 
                </li> 
                <li id="phtml_3"> 
                    <a href="#">A Child node 2</a> 
                </li> 
            </ul> 
        </li> 
    </ul> 
</div>​ 

JS

​​
+0

in console:_GET http://static.jstree.com/v.1.0pre/jquery.jstree.js 404(Not Found)_ – DanStopka

+0

@DanStopka http://jsfiddle.net/HFtjE/29/ get_unchecked是從最新版本中刪除的,你可以使用'$ .not()'來過濾被選中的節點,也有一些帶有'check_node'事件的事件發生,所以我使用'click'事件 –