功能:支持选中多个节点,选中父结点自动选上子,子结点都选上时,父结点也会被选上,可以一级一级度数据,也可以一次性加载,功能很多。可以上官方网站看看http://webfx.eae.net http://jsvm.homolo.com。
使用方式
<head>中加入
<script src="../scripts/jsvm2/jsre.js" classpaht="webfx/xtree1.1.js"></script>
<script language="javascript">
_import("com.eae.webfx.xtree.WebFXLoadTree");
_import("com.eae.webfx.xtree.WebFXTree");
_import("com.eae.webfx.xtree.WebFXTreeItem");
</script>
<body>中加入
<div style="height:350px;265px;overflow:auto;background-color:#fff;">
<script type="text/javascript">
var atree = new WebFXLoadTree("部门树","../catalog.do?action=GetCatalogForTextNode&catalogid=");
//当选中某个节点的时候,必须选中子
atree.onCheck = function (node, tree)
{
//把子部门选上
if(node.isChecked() == true)
{
SelChildNodes(node);
SelParentNode(node);
}
else
{
UnSelChildNodes(node);
UnSelParentNode(node);
}
//GetCalendarByDateAndUserId(node.value);
}
atree.build();
//全部展开
//atree.expandAll();
//选择子
function SelChildNodes(node)
{
var i = 0;
for(i=0;i<node.childNodes.length;i++)
{
if(node.childNodes.length > 0)
SelChildNodes(node.childNodes[i]);
node.childNodes[i].check(true);
}
}
//取消选择子
function UnSelChildNodes(node)
{
var i = 0;
for(i=0;i<node.childNodes.length;i++)
{
if(node.childNodes.length > 0)
UnSelChildNodes(node.childNodes[i]);
node.childNodes[i].check(false);
}
}
//选择父,也需要递归
function SelParentNode(node)
{
var pNode = node.parentNode;
var ok = true;
for(i=0;i<pNode.childNodes.length;i++)
{
if(pNode.childNodes[i].isChecked() == false)
{
//只要有一个没有选中,则返回
ok = false;
break;
}
}
if(ok == true)
{
pNode.check(true);
SelParentNode(pNode);
}
}
//取消选择父,这里有点特殊,取消选择的时候,需要递归取消所有父
function UnSelParentNode(node)
{
var pNode = node.parentNode;
pNode.check(false);
UnSelParentNode(pNode);
}
/*--------------------------------------------------------------
功能:取得选中的选择部门或者用户的ID,用逗号隔开 by yesun
---------------------------------------------------------------*/
function SelCatalogAndUser()
{
var aobj = atree.getSelectedChildNodes();
var strId = "";
var strName = "";
for (var i = 0; i < aobj.length; i++)
{
strId += aobj[i].value+",";
strName += aobj[i].text+",";
}
if(strId.length > 0)
{
strId = strId.substring(0,strId.length-1);
strName = strName.substring(0,strName.length-1);
}
return strId;
}
</script>
</div>
树控件下载
https://files.cnblogs.com/yesun/jsvm2.rar