在TreeView里,用JS怎么获得CheckBox的Checked? .net 的就是麻烦。msdn里面查查顶O.o 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 以下是俺从代码里搜出来滴一些有关早期 treeview 的代码,希望能对 lz 有帮助。似乎应该用此法:n.getAttribute("checked") 获取 checked 属性值。代码里还有许多其他对于 treeview 滴操作方法一起赠与 lz。==== html ====<form id="Form1" method="post" runat="server" onsubmit="getAllCheckedValue()"> <INPUT id="SelectedNodes" type="hidden" runat="server" NAME="SelectedNodes">==== Javascript ====//获取全部节点数据function getAllCheckedValue(){ var organCtl = document.all['SelectedNodes']; organCtl.value = ""; recurGetChecked(Tree.getChildren(), 0, organCtl); }//递归获取树中节点CheckBox选定状态function recurGetChecked(nodes, level, organCtl){ level--; if (nodes == null || nodes.length == 0) return; for(var i = 0 ; i < nodes.length; ++i) { var n = nodes[i]; var child = n.getChildren(); if ((child == null || child.length == 0) && n.getAttribute("checked")) //必须是末级节点才有效 { var d = n.getAttribute("NODEDATA").split(';') organCtl.value += d[0] + ',' } else if (level != 0) { if(n.getAttribute("checked")) { var d = n.getAttribute("NODEDATA").split(';') organCtl.value += d[0] + ',' } recurGetChecked(child, level, organCtl); } }}//以下脚本为设置权限树所用function setAllCheckedValue(){ recurSetChecked(Tree.getChildren());}function recurSetChecked(nodes){ if (nodes == null || nodes.length == 0) return true; var allChecked = true; for(var i = 0 ; i < nodes.length; ++i) { var n = nodes[i]; var currentChecked = false; var d = n.getAttribute("NODEDATA").split(';'); if (d.length > 1 && d[1] == "1") { n.setAttribute("checked", true); currentChecked = true; } else allChecked = false; if (!recurSetChecked(n.getChildren())) { if (currentChecked) //当前节点处于Checked,而下层节点并非全部为Checked状态时,展开当前节点 { n.setAttribute('EXPANDED', true); } allChecked = false; } } return allChecked;}function checkNode(){ var node = Tree.getTreeNode(event.treeNodeIndex); if (node == null) return; var checked = node.getAttribute("checked"); downRecurCheck(node.getChildren(), checked, 0); upRecurCheck(node.getParent(), checked, 0);}function downRecurCheck(nodes, checked, level){ level--; if (nodes == null || nodes.length == 0) return; for(var i = 0 ; i < nodes.length; ++i) { var n = nodes[i]; if (level != 0) downRecurCheck(n.getChildren(), checked, level); n.setAttribute("checked", checked); }}function upRecurCheck(parentNode, checked, level){ level--; if (parentNode == null) return; if (checked) { parentNode.setAttribute("checked", checked); if (level != 0) upRecurCheck(parentNode.getParent(), checked, level); } else { var c = false var nodes = parentNode.getChildren(); for(var i = 0 ; i < nodes.length; ++i) { var n = nodes[i]; if (n.getAttribute("checked")) { parentNode.setAttribute("checked", true); c = true; break; } } if (!c) parentNode.setAttribute("checked", false); if (level != 0) upRecurCheck(parentNode.getParent(), checked, level); }} 搞定了,在<iewc:treeview id="TreeView1" runat="server" BorderStyle="Ridge" Width="341px" ExpandLevel="9" checked="false" ExpandAll="True" SystemImagesPath="../treeimages/" Height="330px"></iewc:treeview>加入:checked="false" (急)高手帮我看看,JS加载速度太慢,网页打开很慢 js数组分割问题 做个简单的JS菜单,请大家帮忙 弹出确认框的问题? 一段代码,帮忙看看谢谢 请问如何用javascript实现给下拉列表框加一项呢? 有没有函数功能类似于VB中的删除前后倒空格Trim()函数? 如何当鼠标移动到一个<td>上面的时候,<td>的bgcolor变色,并且有一个下拉的窗口呢? 选取文件夹的按钮怎么写 jquery中用load()加载另一文件的html为什么会出现这个提示? 各位兄弟帮帮忙,急救呀!! 请大家一定要帮我这个忙.
<INPUT id="SelectedNodes" type="hidden" runat="server" NAME="SelectedNodes">==== Javascript ====//获取全部节点数据
function getAllCheckedValue()
{
var organCtl = document.all['SelectedNodes'];
organCtl.value = "";
recurGetChecked(Tree.getChildren(), 0, organCtl);
}//递归获取树中节点CheckBox选定状态
function recurGetChecked(nodes, level, organCtl)
{
level--;
if (nodes == null || nodes.length == 0)
return;
for(var i = 0 ; i < nodes.length; ++i)
{
var n = nodes[i];
var child = n.getChildren();
if ((child == null || child.length == 0) && n.getAttribute("checked")) //必须是末级节点才有效
{
var d = n.getAttribute("NODEDATA").split(';')
organCtl.value += d[0] + ','
}
else if (level != 0)
{
if(n.getAttribute("checked"))
{
var d = n.getAttribute("NODEDATA").split(';')
organCtl.value += d[0] + ','
}
recurGetChecked(child, level, organCtl);
}
}
}//以下脚本为设置权限树所用
function setAllCheckedValue()
{
recurSetChecked(Tree.getChildren());
}function recurSetChecked(nodes)
{
if (nodes == null || nodes.length == 0)
return true;
var allChecked = true;
for(var i = 0 ; i < nodes.length; ++i)
{
var n = nodes[i];
var currentChecked = false; var d = n.getAttribute("NODEDATA").split(';');
if (d.length > 1 && d[1] == "1")
{
n.setAttribute("checked", true);
currentChecked = true;
}
else
allChecked = false; if (!recurSetChecked(n.getChildren()))
{
if (currentChecked) //当前节点处于Checked,而下层节点并非全部为Checked状态时,展开当前节点
{
n.setAttribute('EXPANDED', true);
}
allChecked = false;
}
}
return allChecked;
}function checkNode()
{
var node = Tree.getTreeNode(event.treeNodeIndex);
if (node == null)
return;
var checked = node.getAttribute("checked");
downRecurCheck(node.getChildren(), checked, 0);
upRecurCheck(node.getParent(), checked, 0);
}function downRecurCheck(nodes, checked, level)
{
level--;
if (nodes == null || nodes.length == 0)
return;
for(var i = 0 ; i < nodes.length; ++i)
{
var n = nodes[i];
if (level != 0)
downRecurCheck(n.getChildren(), checked, level);
n.setAttribute("checked", checked);
}
}function upRecurCheck(parentNode, checked, level)
{
level--;
if (parentNode == null)
return; if (checked)
{
parentNode.setAttribute("checked", checked); if (level != 0)
upRecurCheck(parentNode.getParent(), checked, level);
}
else
{
var c = false
var nodes = parentNode.getChildren();
for(var i = 0 ; i < nodes.length; ++i)
{
var n = nodes[i];
if (n.getAttribute("checked"))
{
parentNode.setAttribute("checked", true);
c = true;
break;
}
}
if (!c)
parentNode.setAttribute("checked", false); if (level != 0)
upRecurCheck(parentNode.getParent(), checked, level);
}
}
<iewc:treeview id="TreeView1" runat="server" BorderStyle="Ridge" Width="341px" ExpandLevel="9" checked="false" ExpandAll="True" SystemImagesPath="../treeimages/" Height="330px"></iewc:treeview>加入:checked="false"