2012-10-17 32 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'事件 –