javascript - jstree 获取已检查和未检查的节点

标签 javascript jquery checkbox jstree

我想从我的 jstree 中获取 2 个单独数组中的已检查节点和未检查节点。

我看过 .get_checked.get_unchecked 函数,但它们会向我返回当前已检查和未检查的所有节点。 (即,如果一个节点未被选中,而我没有取消选中它,那么我仍然使用 .get_unchecked 获取它。我想防止这种情况发生)。我也准备好对 api 进行重大更改。有什么方向吗?

我可以获取复选框的更改事件吗?我也尝试过 change_state 但它只适用于一个被点击的节点。

最佳答案

据我所知,如果不重写 jstree 的复选框插件,几乎不可能处理复选框的单个事件,因为它们只是在每个选中/取消选中事件上重绘所单击文件夹的所有父项和子项。

这里是简单的 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

$(function() {
    var tree = $("#demo1").jstree({
        "plugins": ["themes", "html_data", "checkbox", "sort", "ui"]
    });
    tree.bind("open_node.jstree close_node.jstree check_node.jstree uncheck_node.jstree", function(e) {
        console.log("Event", e);
        console.log('Cheked:', tree.jstree('get_checked'));
        console.log('Uncheked:', tree.jstree('get_unchecked'));
    });
});​

关于javascript - jstree 获取已检查和未检查的节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12928779/

相关文章:

javascript - 使用 JavaScript 在 Spring MVC 中上传图像进行预览

javascript - 需要使用 momentjs 将时间转换为日期的帮助

javascript - 根据复选框显示/隐藏输入字段

javascript - 每 x 毫秒获取 jquery 触摸位置

javascript - Chrome 扩展程序 : detect headers after reload

jquery - 使用 JQuery 进行 ajax 调用时隐藏 div,以获得流畅的体验

javascript - Circle - Canvas 获取 lineWidth 的像素颜色

c++ - Qt - 如何在保留选中状态的同时禁用 QCheckBox?

选中的 JavaScript 复选框不起作用

javascript - 更改 Google 表格中 ImportHTML 值的脚本