从jstree中获取所选复选框

时间:2016-05-11 05:49:33

标签: javascript jquery jsp jstree jstree-search

我有一个带复选框的jstree。 当我选择一个节点并单击按钮时,我正在确定该节点的名称。 但是现在我想允许多个选择,以便为每个元素分配jstree复选框。 不能如何获得所选节点的c =值。 此外,我想允许搜索,但我不知道该怎么做。

我启用了ssearch插件。 这是我的代码

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
        <style>
            html { margin:0; padding:0; font-size:62.5%; }
            body { max-width:300px; min-width:100px;  padding:20px 10px; font-size:14px; font-size:1.4em; }
            h1 { font-size:1.8em; }
            .demo { overflow:auto; border:1px solid silver; min-height:100px; }
        </style>
        <link rel="stylesheet" href="style.min.css" />
    </head>
    <body>
        <div id="frmt" class="demo"></div>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
        <script src="jstree.min.js"></script>
        <button>>></button>

        <script>
            $('#html').jstree();
            $('#frmt').jstree({
                'core': {
                    'data':[{"id":"NODE 1","text":"node 1","children":[{"id","node 2","text":"node2"}]}]
                },
                "checkbox" : { 
            "whole_node" : false, 
            "keep_selected_style" : true, 
            "three_state" : true,
            "tie_selection" : false
          }, "search" : { 
            "fuzzy" : true
          },"plugins" : [ "checkbox", "search", "state", "wholerow", "types", "selectopens" ]
            });
            $('#frmt').on("changed.jstree", function (e, data) {
                   console.log(data.selected);
            });
            $('button').on('click', function () {
                alert($('#frmt').jstree("get_selected"));
            });
        </script>

    </body>
</html>

2 个答案:

答案 0 :(得分:1)

您可以简单地声明一个数组并循环复选框以确定选中哪些并存储它。

 var checked_ids = []; 
    $("#frmt").jstree("get_checked",null,true).each 
        (function () { 
            checked_ids.push(this.id); 
 }); 

答案 1 :(得分:1)

你可以通过

获得它

警报($( '#FRMT')jstree( “get_checked”));