在TreeView里,用JS怎么获得CheckBox的Checked?
在TreeView里,用JS怎么获得CheckBox的Checked?
我使用.net1.1的微软TreeView组件
后台:
TreeView1.Attributes.Add( "oncheck ", "tree_oncheck(event) ");
前台JS:
function tree_oncheck()
{
var node = TreeView1.getTreeNode(event.treeNodeIndex);
var Pchecked = node.getAttribute( "checked ");
alert(Pchecked);
}
///////
初始时没有打勾得能正确显示。原来打勾的,一直显示true。
查看了
生成的html代码:
<tvns:treeview id= "TreeView1 " ExpandAll= "True " oncheck= "tree_oncheck(this.value) " >
<tvns:treenode Expanded= "True " Selected= "true " Checked= "true " NodeData= "100100101 " CheckBox= "True "> 美容 </tvns:treenode>
<tvns:treenode Expanded= "True " NodeData= "100100102 " CheckBox= "True "> 美发 </tvns:treenode>
</tvns:treeview>
原来打勾的有Selected= "true "。
所以用上面的JS方法只能获得true。
请问:我怎么才能在去掉打勾时获得正确的false?
------解决方案--------------------TreeView1.Checked
------解决方案--------------------.net 的就是麻烦。msdn里面查查
顶O.o
------解决方案--------------------以下是俺从代码里搜出来滴一些有关早期 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 &l