Bootstrap treeview根据点击选择子项

zuk*_*zuk 5 treeview jquery twitter-bootstrap bootstrap-treeview

我正在使用Bootstrap Treeview(bootstrap-treeview.js v1.0.2); 如何在点击root上激活根节点的所有chidren上的选择效果?

此代码段无法按预期工作

$('#tree')
    .on('nodeSelected', function (event, node) {
        children=node['nodes'];
        for (var i = 0; i < children.length; i++) {
            children[i].states.expanded = true;
            children[i].states.selected = true;
        }
});
Run Code Online (Sandbox Code Playgroud)

这只适用于第一个孩子

$('#tree')
    .on('nodeSelected', function (event, node) {
        children=node['nodes'];
        for (var i = 0; i < children.length; i++) {
            nodeId=children[i]['nodeId'];
            console.log(nodeId);
            $('.node-tree[data-nodeid="'+nodeId+'"]').click();
        }
});
Run Code Online (Sandbox Code Playgroud)

小智 7

请参阅下面的代码,
请注意您需要确保您的数据选项"multiSelect"为真.

var tree = $('#caseview').treeview({
    levels: 2,
    showTags: true,
    showCheckbox: true,
    multiSelect: true,
    data: caseData
});

caseview.on('nodeSelected', function(e, node){
    if (typeof node['nodes'] != "undefined") {
        var children = node['nodes'];
        for (var i=0; i<children.length; i++) {
            caseview.treeview('selectNode', [children[i].nodeId, { silent: true } ]);
        }
    }
});
Run Code Online (Sandbox Code Playgroud)