bootstrap-treeview中关于勾选父节点全选子节点,以及勾选一个子节点自动勾选父节点

来源:互联网 发布:网络虚拟现实技术 编辑:程序博客网 时间:2024/05/18 01:11
$("#flowOperTypeSingle_tree").treeview({
data : orgTree,
enableLinks : true,
showBorder : false,
showCheckbox:true,
levels:1,
onNodeChecked : function(event, data) {
//点击选中
selected(data);
},
onNodeUnchecked : function(event, node){
//点击取消
unSelected(node);
    }

});


function selected(data){
if(data.fatherId == undefined){
for (var i = 0; i < data.nodes.length; i++) {
$("#flowOperTypeSingle_tree").treeview('checkNode', [ data.nodes[i], {silent: true}]);
}
}else{
var parentNode = $('#flowOperTypeSingle_tree').treeview('getParent', data.nodeId);
$("#flowOperTypeSingle_tree").treeview('checkNode', [ parentNode, {silent: true}]);
}
}

function unSelected(node){
if(node.fatherId == undefined){
for (var i = 0; i < node.nodes.length; i++) {
$("#flowOperTypeSingle_tree").treeview('uncheckNode', [ node.nodes[i], {silent: true}]);
}
}else{
var parentNode = $('#flowOperTypeSingle_tree').treeview('getParent', node.nodeId);
var num;
for (var i = 0; i < parentNode.nodes.length; i++) {
if(parentNode.nodes[i].state.checked == true){
num=1;
}
}
if(num!=1){
$("#flowOperTypeSingle_tree").treeview('uncheckNode', [ parentNode, {silent: true}]);
}
console.log(parentNode);
}
}

每个人的代码写的都不同,根据业务不同需要进行修改.(有不对的地方的请指教)

阅读全文
0 0
原创粉丝点击