给TreeView节点添加客户端onclick

friendtt20 2006-12-13 07:19:00
如何给TreeView控件的节点添加客户端事件onclick,我想实现选择一个节点后,让其父节点也跟着选中,而不提交到服务器端实现。。

谢谢!
TreeNode对象没有attrubute 属性,所以我无法通过 TreeNode1.Atrrubute.Add("onlick","js"); 有更好的方法给动态生成的TreeNode添加onclick 么~
...全文
389 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
孟子E章 2006-12-14
  • 打赏
  • 举报
回复
TreeView1.Atrrubute.Add("onlick","js");
friendtt20 2006-12-14
  • 打赏
  • 举报
回复
编译后,查看html 源文件,treeview节点都变成了
<tvns:treenode Expanded="True" CheckBox="True" ID="00010005">
人力资源部
</tvns:treenode>
<tvns:treenode Expanded="True" CheckBox="True" ID="00010007">
计财部
</tvns:treenode>
等等.....
其自带的checkbox并没有生成<input type=checkbox>的html标签
那是不是就不能用javascript找到其自带的checkbox元素呢?
比方说我想用让所有checkbox 不能编辑只能显示,即enable掉,如何实现呢。。。
最后的问题,回答了就给分。thanks
Night_Elf 2006-12-14
  • 打赏
  • 举报
回复
特别说明一下,代码来自思归的网友解答!
Night_Elf 2006-12-14
  • 打赏
  • 举报
回复
在body的onload事件中加上a(),这段代码是实现选中所有子节点的,而不是你要的父节点,但可以给你参考一下,原理都是类似的
Night_Elf 2006-12-14
  • 打赏
  • 举报
回复
function a()
{
if(event.srcElement.tagName=="INPUT")
{
obj = event.srcElement
var hasTreeNode = false
if (obj.tagName == "INPUT" && obj.type == "checkbox") {
var treeNode = obj

while (obj.tagName != "TABLE")
{
obj = obj.parentNode
}
var pt = obj.rows[0].cells.length
var parentTreeNode = obj.rows[0].cells[0]
var containerDiv = obj.parentNode
if(containerDiv == null)
{
return
}
var tables = containerDiv.getElementsByTagName("TABLE")
var tableCount = tables.length
if(tableCount < 1)
{
return
}
for (i = 0; i < tableCount; i++)
{
if (tables[i] == obj)
{
hasTreeNode = true;
i++;
if (i == tableCount)
{
return;
}
}
if (hasTreeNode)
{
var ct = tables[i].rows[0].cells.length;
if (ct > pt)
{
var cell = tables[i].rows[0].cells[ct - 1];
var inputs = cell.getElementsByTagName("INPUT");
inputs[0].checked = event.srcElement.checked;
}
else
{
return;
}
}
}
}
}
}
friendtt20 2006-12-14
  • 打赏
  • 举报
回复
是TREEVIEW 自带的checkbox啊,不是单独的web控件checkbox ...如果激发事件..
Xpengfee 2006-12-14
  • 打赏
  • 举报
回复
用CheckBox呗
balenoww 2006-12-14
  • 打赏
  • 举报
回复
CheckBox
friendtt20 2006-12-13
  • 打赏
  • 举报
回复
如何响应TreeNode前复选框的单击,客户端实现。。
friendtt20 2006-12-13
  • 打赏
  • 举报
回复
的确这个方法很好!! 节点相应了单击。。
可是节点前的CheckBox还是没有相应 ,有没有办法让节点前的CheckBox也这样相应呢!!!
谢谢了。。。
贝贝壳壳 2006-12-13
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/5091/5091357.xml?temp=.2420923

引用 :
Page_Load中
tv.Attributes.Add("onClick","CheckNode();");
前台javascript中:
function CheckNode()
{
indexid=tv.clickedNodeIndex;
var data = tv.getTreeNode(indexid).getAttribute("NodeData");
}
friendtt20 2006-12-13
  • 打赏
  • 举报
回复
这些节点前面都有CheckBox,选中checkbox ,使其所有父节点都选中 用js实现。。。谢谢。。

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧