使用jQuery Treeview插件“折叠所有”问题

时间:2009-11-10 11:19:50

标签: javascript jquery-plugins treeview jquery

问题是,在我点击“全部折叠”链接后,“一些”优缺点与它们应该显示的相反:即“可扩展”节点将显示旁边的减号它。除此之外,树正常工作。 (好吧,'全部扩展'功能也会受到影响,但我认为这是同一问题的一部分)。显示错误的节点取决于在折叠树之前打开哪些节点。如果您认为这很重要,我会为您提供一个确切的模式。

我正在寻找如何解决问题而不是“解决方案”的指导,尽管这很好,当然:-)。树通过Async Treeview扩展和JSON字符串加载。我怀疑这可能与问题有关。这是加载后树的html:

<li class="expandable lastExpandable" id="333">
<div class="hitarea expandable-hitarea lastExpandable-hitarea "></div>
<span class="important" id="333">Admin</span>
<ul style="display: none;">
    <li class="expandable" id="55">
    <div class="hitarea expandable-hitarea "></div>
    <span class="important" id="55">Admin A</span>
        <ul style="display: none;">
            <li class="expandable" id="85">
            <div class="hitarea expandable-hitarea "></div>
            <span class="important" id="85">Dir A</span>
                <ul style="display: none;">
                    <li class="last" id="98"><span class="important" id="98">A1</span></li>
                </ul>
            </li>
            <li class="expandable" id="88">
            <div class="hitarea expandable-hitarea ">
            </div><span class="important" id="88">Dir B</span>
                <ul style="display: none;">
                    <li id="89">
                    <span class="important" id="89">B1</span>
                    </li>
                    <li class="last" id="90">
                    <span class="important" id="90">B2</span>
                    </li>
                </ul>
            </li>
            <li class="expandable lastExpandable" id="102">
            <div class="hitarea expandable-hitarea lastExpandable-hitarea "></div>
            <span class="important" id="102">Dir C</span>
                <ul style="display: none;">
                    <li class="last" id="103">
                    <span class="important" id="103">C1</span>
                    </li>
                </ul>
            </li>
        </ul>
    </li>
    <li class="expandable lastExpandable" id="84">
    <div class="hitarea expandable-hitarea lastExpandable-hitarea "></div>
    <span class="important" id="84">Admin B</span>
        <ul style="display: none;">
            <li class="expandable" id="100">
            <div class="hitarea expandable-hitarea "></div>
            <span class="important" id="100">Dir A</span>
                <ul style="display: none;">
                    <li class="last" id="101">
                    <span class="important" id="101">A1</span>
                    </li>
                </ul>
            </li>
            <li class="expandable lastExpandable" id="10">
            <div class="hitarea expandable-hitarea lastExpandable-hitarea "></div>
            <span class="important" id="10">Dir B</span>
                <ul style="display: none;">
                    <li class="last" id="91">
                    <span class="important" id="91">B1</span>
                    </li>
                </ul>
            </li>
        </ul>
    </li>
</ul>

正如我所说,我欢迎可能的指导,问题的原因是什么:CSS,JSON,Treeview async,Threeview?我将继续查看插件代码,以便更好地了解它的工作原理,但是更有经验的人可能会节省时间。

2 个答案:

答案 0 :(得分:1)

这肯定会有所帮助 http://short-tag.info/2013/02/jquery-treeview-expand-all-collapse-all-not-working/ 我有同样的问题,它对我有用

答案 1 :(得分:0)

它实际上并没有解决问题,但经过一些更仔细的谷歌搜索后,我发现这是由于jQuery和Treeview版本之间不兼容。 (我正在使用最新的)。无论如何,解决方法是使用动画属性。这也是我在example中注意到的,它与我的代码不同。唯一的区别是动画属性的使用,但我不相信只会遇到这个page,谢天谢地,仅仅几分钟后。

正如我所说它并没有解决问题,不仅因为它是一种解决方法,而且因为它在一些崩溃,扩展和切换后再次中断。然而,它现在不是那么明显(之前只有一次崩溃才能打破),它不会向使用树的人“合理地”显示,毕竟,至少在我的情况下,它并没有真正影响功能。它现在适用于我。