js遍历TreeView选中节点 求一简明的js遍历TreeView选中节点代码,带有checkbox的treeview,请给出代码,帖子分只给一人. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <script language="javascript" type="text/javascript"> function show(){ var str = ""; var objs = document.getElementById("s").getElementsByTagName("input"); for(var i = 0; i < objs.length; i++){ if(objs[i].type=="checkbox" && objs[i].checked){ str += objs[i].id + "\n\n"; } } alert(str); } </script><form id="d" runat="server"><asp:TreeView ID="s" runat="server" ShowCheckBoxes="all"><Nodes> <asp:TreeNode Text="1" Value="1"> <asp:TreeNode Text="1-1" Value="1-1"></asp:TreeNode> <asp:TreeNode Text="1-2" Value="1-2"></asp:TreeNode> </asp:TreeNode> <asp:TreeNode Text="2" Value="2"></asp:TreeNode></Nodes></asp:TreeView><input type="button" value="check" onclick="show();" /></form> http://topic.csdn.net/u/20080228/16/0fbebe80-b45d-4a76-8eae-bfb1038e9321.html //递归遍历所有子节点 function CheckNode(currentNode) { var childNode=new Array(); var parentNodeChild=new Array(); var isChecked; childNode=currentNode.getChildren(); if(currentNode.getAttribute('checked')) { isChecked=true; } else { isChecked=false; } //父节点处理 if(currentNode.getParent()!=null) { //选中处理 if(currentNode.getAttribute('Checked')) { ParentNode(currentNode); } else //取消选中 { ChildNode(currentNode); } } else { //什么也不做 } //子节点处理 if(childNode.length>0) { for(var i=0;i<childNode.length;i++) { childNode.setAttribute("Checked",isChecked); if(childNode.getChildren().length>0) { CheckNode(childNode); } } } } //递归选中父节点 function ParentNode(currentNode) { if(currentNode.getParent()!=null) { currentNode.getParent().setAttribute('Checked',true); //递归调用ParentNode(currentNode)以遍历更上一层的父节点 ParentNode(currentNode.getParent()); } } //递归取消选中父节点 function ChildNode(currentNode) { if(currentNode.getParent()!=null) { var checkedCount=0; var childNode=currentNode.getParent().getChildren(); for (var i=0;i<childNode.length;i++) { if(childNode.getAttribute('Checked')) { checkedCount++; } } if(checkedCount==0) { currentNode.getParent().setAttribute('Checked',false); } //递归调用ChildNode(currentNode)以遍历更上一层的父节点 ChildNode(currentNode.getParent()); } } </script>js递归遍历treeview中某节点的所有子节点的问题 var AllRootNode=new Array(); AllRootNode=TreeView1.getChildren(); AlertNode(AllRootNode); function AlertNode(NodeArray) { if(parseInt(NodeArray.length)==0) return; else { for(i=0;i<NodeArray.length;i++) { var cNode; cNode=NodeArray; alert(cNode.getAttribute("Text")); if(parseInt(cNode.getChildren().length)!=0) AlertNode(cNode.getChildren()); } } } 异步分页问题! 写XmL文件的内容 有关XML的读取问题 DataGrid行跳转的问题? 向oracle10g中插时间提示错误,请问这是怎么回事?错误提示ora-01861 dropdownlist绑定树问题 ASP.NET代码隐藏 *********入门问题,请教大家********* 高手啊,怎么解决这个问题啊?? 各位请留神:为什么我新建一个项目后,什么也不写,它都无法调试(分不是问题) 帮忙写一个 记录"有竖变横" 的 sql ? web项目中 Resource.resx 文件怎么访问?
function show(){
var str = "";
var objs = document.getElementById("s").getElementsByTagName("input");
for(var i = 0; i < objs.length; i++){
if(objs[i].type=="checkbox" && objs[i].checked){
str += objs[i].id + "\n\n";
}
}
alert(str);
}
</script>
<form id="d" runat="server">
<asp:TreeView ID="s" runat="server" ShowCheckBoxes="all">
<Nodes>
<asp:TreeNode Text="1" Value="1">
<asp:TreeNode Text="1-1" Value="1-1"></asp:TreeNode>
<asp:TreeNode Text="1-2" Value="1-2"></asp:TreeNode>
</asp:TreeNode>
<asp:TreeNode Text="2" Value="2"></asp:TreeNode>
</Nodes>
</asp:TreeView>
<input type="button" value="check" onclick="show();" />
</form>
//递归遍历所有子节点
function CheckNode(currentNode)
{
var childNode=new Array();
var parentNodeChild=new Array();
var isChecked;
childNode=currentNode.getChildren();
if(currentNode.getAttribute('checked'))
{
isChecked=true;
}
else
{
isChecked=false;
}
//父节点处理
if(currentNode.getParent()!=null)
{
//选中处理
if(currentNode.getAttribute('Checked'))
{
ParentNode(currentNode);
}
else
//取消选中
{
ChildNode(currentNode);
}
}
else
{
//什么也不做
}
//子节点处理
if(childNode.length>0)
{
for(var i=0;i<childNode.length;i++)
{
childNode.setAttribute("Checked",isChecked);
if(childNode.getChildren().length>0)
{
CheckNode(childNode);
}
}
}
}
//递归选中父节点
function ParentNode(currentNode)
{
if(currentNode.getParent()!=null)
{
currentNode.getParent().setAttribute('Checked',true);
//递归调用ParentNode(currentNode)以遍历更上一层的父节点
ParentNode(currentNode.getParent());
}
}
//递归取消选中父节点
function ChildNode(currentNode)
{
if(currentNode.getParent()!=null)
{
var checkedCount=0;
var childNode=currentNode.getParent().getChildren();
for (var i=0;i<childNode.length;i++)
{
if(childNode.getAttribute('Checked'))
{
checkedCount++;
}
}
if(checkedCount==0)
{
currentNode.getParent().setAttribute('Checked',false);
}
//递归调用ChildNode(currentNode)以遍历更上一层的父节点
ChildNode(currentNode.getParent());
}
}
</script>
js递归遍历treeview中某节点的所有子节点的问题
var AllRootNode=new Array();
AllRootNode=TreeView1.getChildren();
AlertNode(AllRootNode);
function AlertNode(NodeArray)
{
if(parseInt(NodeArray.length)==0)
return;
else
{
for(i=0;i<NodeArray.length;i++)
{
var cNode;
cNode=NodeArray;
alert(cNode.getAttribute("Text"));
if(parseInt(cNode.getChildren().length)!=0)
AlertNode(cNode.getChildren());
}
}
}