日期:2014-05-16  浏览次数:20462 次

在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