bootstrap treeview 下拉树 (二) checkBox多选

继上一篇文章,下拉树中往往要求可以多选,返回input中的字符串,以“,”分割,选择完毕以后点击确定隐藏Tree,废话不多刷,上干货:

界面效果:

bootstrap treeview 下拉树 (二) checkBox多选

bootstrap treeview 下拉树 (二) checkBox多选

bootstrap treeview 下拉树 (二) checkBox多选

JS部分:

<script type="text/javascript">
    $(function () {
        getTree('1');
    })

    function buildTree(parentNode, datas) {
        for (var key in datas) {
            var data = datas[key];
            if (data.parentid == parentNode.id) {
                var node = {text: data.knowledgeText, id: data.id, nodes: [], selectable: true};
                parentNode.nodes.push(node);
                buildTree(node, datas);
            }
        }

        if (parentNode.nodes.length == 0) {
            delete parentNode.nodes;
        }
    }

    function getTree(strid) {
        var params = {};
        params.id = 'a696ee80-5b26-4a99-b013-ba22bec4d3bb';
        $.ajax({
            url: "/knowledge/getTree", // 请求的URL
            dataType: 'json',
            type: "get",
            data: params,
            success: function (data) {
                var tree = {text: '复读语文', id: 'a696ee80-5b26-4a99-b013-ba22bec4d3bb', nodes: []};
                buildTree(tree, data.data);
                $('#knowledgeTree').treeview({
                    color: "#428bca",
                    data: [tree],
                    showCheckbox: true,
                    multiSelect: true,
                    onNodeChecked: function (event, data) {
                        console.log('dddd', data);
                        var str = $("#knowledgeText").val();
                        console.log('1', data.knowledgeText);
                        if (str.length > 0) {
                            $("#knowledgeText").val(str + data.text + ',');
                        } else {
                            $("#knowledgeText").val(data.text + ',');
                        }
                        console.log('2', str);
                    },
                    onNodeUnchecked: function (event, data) {
                        var str = $("#knowledgeText").val();
                        $("#knowledgeText").val(str.replace(data.text + ",", ""));
//                        console.log('content', str.substring(0, str.indexOf(data.text)));
                        console.log('content', str.replace(data.text + ",", ""));
                    }
                });


            }
        });
    }

    function hideDIV() {

//        $("#knowledgeText").val(mdata.text);
        $("#hideDiv").hide();
    }
HTML:

<body>
<input type="text" id="knowledgeText" name="knowledgeText" class="form-control" value=""
       onclick="$('#hideDiv').show()" placeholder="分类名称"/>
<div id="hideDiv" style="display: none;">
    <div id="knowledgeTree"></div>
    <button class="btn btn-danger" type="button" onclick="hideDIV()">
        <span class="glyphicon glyphicon-eye-open"></span> 确定
    </button>
</div>

</body>