javascript 访问treeview
1.设置所选节点,如选中第二个节点
function SetSelNode()
{
TreeView1.selectedNodeIndex="1";
}
2.得到所选节点的Text,ID或NodeData
function GetAttribute()
{
alert(TreeView1.getTreeNode(TreeView1.selectedNodeIndex).getAttribute("Text"));
//或者 event.srcElement.innerText
}
替换Text为ID或NodeData,可分别得到所选节点的ID或NodeData
event.srcElement.TagName//适用于table获取td值
event.srcElement.innerText//适用于获取div span h1 等一系列的值
event.srcElement.value//适用于获取input type=text textarea input type=password的值
我的理解event.srcElement可以获取鼠标所在的位置的元素的值,也可以理解为事件源
3.修改节点属性,如修改第一个节点的Text
function ModifyNode()
{
var node=TreeView1.getTreeNode("0");
node.setAttribute("Text","hgknight");
}
4.得到点击节点
function TreeView1.onclick()
{
alert(TreeView1.getTreeNode(TreeView1.clickedNodeIndex).getAttribute("Text"));
}
5.添加节点
function AddNode()
{
var node=TreeView1.createTreeNode();
node.setAttribute("Text","hgknight");
TreeView1.add(node);
}
6.TreeNode.getNodeIndex()
7.TreeView.queueEvent('oncheck',TreeNode.getNodeIndex());
8.node.getParent()
9.node.getChildren();
<script language="C#" runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
TreeView1.Attributes.Add("oncheck","tree_oncheck(this)");
}
</script>
<script language="javascript">
<!--
//初始化选中节点
function initchecknode()
{
var node=TreeView1.getTreeNode("1");
node.setAttribute("Checked","true");
setcheck(node,"true");
FindCheckedFromNode(TreeView1);
}
//oncheck事件
function tree_oncheck(tree)
{
var node=TreeView1.getTreeNode(TreeView1.clickedNodeIndex);
var Pchecked=node.getAttribute("checked");
setcheck(node,Pchecked);
}
//设置子节点选中
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];
if(parseInt(cNode.getChildren().length)!=0)
{
setcheck(cNode,Pc);
}
cNode.setAttribute("Checked",Pc);
}
}
}
//取得一个结点下所有选中结点的值
function GetCheck(node)
{
var i;
var ChildNode=new Array();
ChildNode=node.getChildren();
if(ChildNode) //如存在子结点
{
for(i=0;i<ChildNode.length;i++)
{
cNode=ChildNode[i];
if(cNode.getAttribute("Checked"))
{
if(Form1.NodeState.value =="")
{
Form1.NodeState.value = cNode.getAttribute("NodeData");
Form1.NodeState_text.value= cNode.getAttribute("Text");
}
else
{
Form1.NodeState.value = Form1.NodeState.value +"," + cNode.getAttribute("NodeData");
Form1.NodeState_text.value = Form1.NodeState_text.value + "," + cNode.getAttribute("Text");
}
}
if(cNode.getChildren())
{
GetCheck(cNode);
}
}
}
else
{
return;
}
}
//如一个结点被选中,则其所有子结点选中
function SetCheck(node,Pc)
{
var i;
var ChildNode=new Array();
ChildNode=node.getChildren();
if(ChildNode) //如存在子结点
{
for(i=0;i<ChildNode.length;i++)
{
cNode=ChildNode[i];
cNode.setAttribute("Checked",Pc);
if(cNode.getChildren())
{
SetCheck(cNode,Pc);
}
}
}
else
{
return;
}
}
//如一个结点被选中,则其所有子结点选中(全选)
function SetCheck(node,Pc)
{
var i;
var ChildNode=new Array();
ChildNode=node.getChildren();
if(ChildNode) //如存在子结点
{
for(i=0;i<ChildNode.length;i++)
{
cNode=ChildNode[i];
cNode.setAttribute("Checked",Pc);
if(cNode.getChildren())
{
SetCheck(cNode,Pc);
}
}
}
else
{
return;
}
}
//如一个结点下的所有结点均未选中,则其父结点处于未选中状态
function UnCheck(node,Pc)
{
if(Pc==false)
{
if(node.getParent())
{
cNode=node.getParent();
cNode.setAttribute("Checked",false);
SetUnCheck(cNode,Pc);
}
}
else
{
return;
}
}
function SetUnCheck(node,Pc)
{
var i;
var theNode;
var ChildNode=new Array();
ChildNode=node.getChildren();
if(parseInt(ChildNode.length)!=0)
{
for(i=0;i<ChildNode.length;i++)
{
var cNode;
cNode=ChildNode[i];
if(cNode.getAttribute("Checked")==true)
{
theNode=cNode.getParent();
theNode.setAttribute("Checked",true);
}
if(parseInt(cNode.getChildren().length)!=0)
{
SetUnCheck(cNode,Pc);
}
}
}
else
{
return;
}
}
//如一个结点被选中,则其所有父结点均处于选中状态
function SetParentCheck(node,Pchecked)
{
var cNode;
if(Pchecked==true)
{
if(node.getParent())
{
cNode=node.getParent();
cNode.setAttribute("Checked",true);
SetParentCheck(cNode,Pchecked);
}
}
else
{
return;
}
}
function Check_edit()
{//进行修改前的验证
var s;
var ss;
s=Form1.NodeState.value;
ss=s.split(",")
if(ss[0]=="")
{
alert("在进行'修改'操作之前请进行选择!");
return false;
}
if(ss.length>1)
{
alert("在进行'修改'操作时只能选择一项!");
return false;
}
}
//进行删除时的验证
function Check_dele()
{
var s;
var ss;
s=Form1.NodeState.value;
ss=s.split(",")
if(ss[0]=="")
{
alert("在进行'删除'操作之前请进行选择!");
return false;
}
}
//进行修改前的验证
function Check_edit()
{
var s;
var ss;
s=Form1.NodeState.value;
ss=s.split(",")
if(ss[0]=="")
{
alert("在进行'修改'操作之前请进行选择!");
return false;
}
if(ss.length>1)
{
alert("在进行'修改'操作时只能选择一项!");
return false;
}
}
//进行删除时的验证
function Check_dele()
{
var s;
var ss;
s=Form1.NodeState.value;
ss=s.split(",")
if(ss[0]=="")
{
alert("在进行'删除'操作之前请进行选择!");
return false;
}
else
{
if(!confirm("你真的要删除吗?"))
{
return false;
}
}
}
//进行添加操作时的验证
function Check_add()
{
var s;
var ss;
s=Form1.NodeState.value;
ss=s.split(",")
if(ss[0]=="")
{
alert("在进行'添加'操作之前请选择上级模块!");
return false;
}
if(ss.length>1)
{
alert("在进行'添加'操作时只能选择一项!");
return false;
}
}
//-->
</script>