ZTREE如何获取所有选中最底层节点(下面没有子节点)和这些节点的父。需要格式如下:
所有选中的最底层子节点:机房环境,防火墙,应用安全,安全管理制度
所有选中的最底层子节点和对应的父节点:技术对象/物理安全/机房环境,技术对象/网络安全/防火墙,技术对象/应用安全,管理对象/安全管理制度
所有选中的最底层子节点:机房环境,防火墙,应用安全,安全管理制度
所有选中的最底层子节点和对应的父节点:技术对象/物理安全/机房环境,技术对象/网络安全/防火墙,技术对象/应用安全,管理对象/安全管理制度
var s_child="",s_parent="";
var treeObj = $.fn.zTree.getZTreeObj("tree");//树控件
var nodes = treeObj.getCheckedNodes(true);//获取所有选择的节点
for(var i=0;i<nodes.length;i++){
if(nodes[i].isParent){
s_parent+=nodes[i].name+",";//父节点
}else{
s_child+=nodes[i].name+",";//子节点
}
}
alert(s_parent+"\n"+s_child);
</script>
function GetMultItemValues(treeID) {
var treeObj = $.fn.zTree.getZTreeObj(treeID);
var nodes = treeObj.getCheckedNodes(true);
var s1 = "";
var childIdList = "";
var parentNameList = "";
var childNodes;
for(i = 0; i < nodes.length; i++) {
childNodes = treeObj.transformToArray(nodes[i]); //取得当前节点下面的所有子节点
if (childNodes.length == 1){
parentNameList += _GetChkParentNodes(nodes[i], "name", "/", "desc") + ",";
childIdList += nodes[i].id + ",";
}
}
parentNameList = parentNameList.substring(1,parentNameList.length-1);
childIdList = childIdList.substring(0,childIdList.length-1);
return parentNameList + "&" + childIdList;
} function _GetChkParentNodes(node,propName,splitChar,orderBy) {
var pNode;
var i=0;
var s1 = new Array();
s1[i]=_GetNodePropValue(node,propName);
pNode = node.getParentNode();
while(!!pNode) {
i++;
s1[i]=_GetNodePropValue(pNode,propName);
pNode = pNode.getParentNode();
}
if (orderBy=="desc")
{
var j=0;
var s2 = new Array();
for(i = s1.length; i >= 0; i--) {
s2[j] = s1[i];
j++;
}
return s2.join(splitChar);
}
return s1.join(splitChar);
}