ztree取消半勾选
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ztree取消半勾选相关的知识,希望对你有一定的参考价值。
半勾选可以取消吗?因为提交数据的时候半勾选的数据也会被提交,或者怎么能让半勾选的节点数据不提交??
参考技术A 初始化打开页面时,从后台查到的关联关系,子节点选中,父节点只变灰,没有对勾符号。然后在勾选一个子节点,父节点有半勾选的状态,既变灰,又有对勾符号。
如何能够在打开这个页面的时候,关联父节点出现对勾的符号。
Ztree 限制根节点大类下勾选的子节点个数不超过5个
var setting =view :
showIcon:false
,
check:
enable: true,
chkboxType: "Y" : "", "N" : ""
,
data:
simpleData:
enable: true
,
callback:
onCheck: zTreeOnCheck
;
//获取当前节点的根节点(treeNode为当前节点)
function getCurrentRoot(treeNode)
if(treeNode.getParentNode()!=null)
var parentNode = treeNode.getParentNode();
return getCurrentRoot(parentNode);
else
return treeNode;
/**获取指定节点下的所有选中的子节点数组,ids是传入的新数组**/
function getChildren(ids,treeNode)
if (treeNode.isParent)//是父节点
for(var obj in treeNode.children)
getChildren(ids,treeNode.children[obj]);
else
if(treeNode.checked)//子节点且被勾选状态
ids.push(treeNode.name);
return ids;
/**节点前面复选框选中事件**/
function zTreeOnCheck(event, treeId, treeNode)
if(treeNode.checked)//勾选事件
//获取当前勾选节点的最顶层根节点
var currentRootNode=getCurrentRoot(treeNode);
var ids=[];
getChildren(ids,currentRootNode);
console.log(currentRootNode.name+"下勾选的节点集合为:"+ids);
if(ids.length>5)
treeNode.checked=false;
alert(currentRootNode.name+"下勾选的关注指标不能超过5个!!");
// console.log(treeNode.tId + ", " + treeNode.name + "," + treeNode.checked+"\\n");
// var treeObj = $.fn.zTree.getZTreeObj("zhibiao_zTree");
// var currentRootNode=getCurrentRoot(treeNode);
// console.log(currentRootNode.name+"\\n");
// var nodes = treeObj.getNodesByFilter(function (node) return node.level == 0 );
// console.log(nodes);
;
/**提交前检查每个大类下勾选的指标个数是否超过5个**/
function inspecttreeNodesNum(number)
number=number||5;
var treeObj = $.fn.zTree.getZTreeObj("zhibiao_zTree");
var nodes = treeObj.getNodesByFilter(function (node) return node.level == 0 );
console.log(nodes);
for(var i=0;i<nodes.length;i++)
var currentRootNode=nodes[i];
var ids=[];
getChildren(ids,currentRootNode);
console.log(currentRootNode.name+"下勾选的节点集合为:"+ids);
if(ids.length>number)
alert(currentRootNode.name+"下勾选的关注指标超过5个!!请调整");
return false;
return true;
以上是关于ztree取消半勾选的主要内容,如果未能解决你的问题,请参考以下文章