TreeView控件结合js树形选择
2004-09-18 21:27
561 查看
在一些系统管理,分配权限时可能经常需求构建树形菜单,然后选择部分功能点授权给用户
用下面的javascript脚本结合.net自带的树形控件,很方便的实现了多级选择。
<script language="javascript">
function window_onload()
{
document.all("treeMenu").attachEvent("oncheck",tree_oncheck);
}
//当树上的checkBox被选中时触发
function tree_oncheck()
{
//得到当前选中的node
var node=treeMenu.getTreeNode(treeMenu.clickedNodeIndex);
document.all("TreeIndex").value = node.getAttribute("ID");
//得到点击得节点checked的状态
var Pchecked=treeMenu.getTreeNode(treeMenu.clickedNodeIndex).getAttribute("checked");
//alert(Pchecked);
//设置所有子节点的状态(全部选中或全部不选中)
setcheck(node,Pchecked);
//点击子,所有的根选中
setParentCheck(node);
//设置传给服务器端的值
// getNodeCheckValue(tree);
}
//点击子,所有的根选中
function setParentCheck(node)
{
var tempNode;
//得到父节点
tempNode=node.getParent();
if(tempNode!=null)
{
//选中
tempNode.setAttribute("Checked","true");
//递归
setParentCheck(tempNode);
}
}
//设置子节点选中
function setcheck(node,Pc)
{
var i;
var ChildNode=new Array();
ChildNode=node.getChildren();
if(parseInt(ChildNode.length)==0)
{
return;
}
else
{
for(i=0;i<ChildNode.length;i++)
{
var cNode;
cNode=ChildNode[i];
cNode.setAttribute("Checked",Pc);
if(parseInt(cNode.getChildren().length)!=0)
{
setcheck(cNode,Pc);
}
}
}
}
用下面的javascript脚本结合.net自带的树形控件,很方便的实现了多级选择。
<script language="javascript">
function window_onload()
{
document.all("treeMenu").attachEvent("oncheck",tree_oncheck);
}
//当树上的checkBox被选中时触发
function tree_oncheck()
{
//得到当前选中的node
var node=treeMenu.getTreeNode(treeMenu.clickedNodeIndex);
document.all("TreeIndex").value = node.getAttribute("ID");
//得到点击得节点checked的状态
var Pchecked=treeMenu.getTreeNode(treeMenu.clickedNodeIndex).getAttribute("checked");
//alert(Pchecked);
//设置所有子节点的状态(全部选中或全部不选中)
setcheck(node,Pchecked);
//点击子,所有的根选中
setParentCheck(node);
//设置传给服务器端的值
// getNodeCheckValue(tree);
}
//点击子,所有的根选中
function setParentCheck(node)
{
var tempNode;
//得到父节点
tempNode=node.getParent();
if(tempNode!=null)
{
//选中
tempNode.setAttribute("Checked","true");
//递归
setParentCheck(tempNode);
}
}
//设置子节点选中
function setcheck(node,Pc)
{
var i;
var ChildNode=new Array();
ChildNode=node.getChildren();
if(parseInt(ChildNode.length)==0)
{
return;
}
else
{
for(i=0;i<ChildNode.length;i++)
{
var cNode;
cNode=ChildNode[i];
cNode.setAttribute("Checked",Pc);
if(parseInt(cNode.getChildren().length)!=0)
{
setcheck(cNode,Pc);
}
}
}
}
相关文章推荐
- TreeView控件结合js树形选择 .
- TreeView树形控件与数据库结合编程!
- ajaxTree 用Javascript 写的树形导航控件 jsTreeView
- ajaxTree 用Javascript 写的树形导航控件 jsTreeView
- 简洁JS 日历控件 支持日期和月份选择
- 能够选择时间的 JS 日历时间输入控件
- TreeView复选框选择 __JS
- TreeView---利用RecyclerView打造高性能树形控件
- mvc3 treeview使用telerik控件js绑定
- 关于树形弹出框选择JS和sql的记录
- Silverlight Telerik控件学习:带CheckBox复选框的树形TreeView控件
- js判断上传控件FileUpload是否选择和文件类型
- 带时间选择的JS日期控件
- treeView控件节点被选择后,失去焦点。但是该节点有背景色的问题。
- jQuery 树形控件 TreeView 的 Bug
- jsp日期选择框 ,无需第三方js控件
- 树形控件(MS TreeView 6.0 ActiveX Control)在网页中的应用
- js时间控件(精确到时分秒)--具有选择修改的功能
- file控件选择上传文件确定后触发的js事件是哪个